|
Mostrar Temas
|
Páginas: 1 [2] 3 4 5 6 7 8
|
11
|
Programación / PHP / problema con los indexes en foreach en codeigniter
|
en: 15 Agosto 2016, 18:39 pm
|
bueno mi error es que me da invalid argument supplied for foreach() y no me esta accediento bien al índice del arreglo, estoy usando codeigniter pero como pudiera arreglar ese error mi json del la función del controlador es [{"id":"1","sección":"Inventario","data":[{"id":"11","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/items.png","value":"Productos","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/inventario\/product"},{"id":"14","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/employees.png","value":"Provedores","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/provedor\/provedor"}]},{"id":"2","sección":"Compras","data":[{"id":"22","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/suppliers.png","value":"Compras","seccion_id":"2","url":"http:\/\/localhost\/storeLTE\/compras\/compras"}]}]
controller public function getModules($id_module){ if($this->session->userdata('log')){ $data = $this->session->userdata('log'); $seccions = $this->module->get_rows(); foreach ($seccions as $index => $sección){ $modules = $this->module->query("SELECT CONCAT('".$sección['id']."',storelte_modulo.id) AS id,CONCAT('".base_url('assets/img/sidebar')."','/',storelte_modulo.icon) as icon, storelte_modulo.modulo AS value,storelte_modulo.seccion_id,CONCAT('".base_url()."',storelte_modulo.url) AS url FROM storelte_modulo INNER JOIN storelte_modulo_perfil ON storelte_modulo_perfil.modulo_id = storelte_modulo.id WHERE seccion_id = $sección[id] AND storelte_modulo_perfil.perfiles_id = $data[id] AND storelte_modulo_perfil.STATUS = 1"); $seccions[$index]['data']= $modules; if (!count($seccions[$index]['data'])) unset($seccions[$index]); } foreach ($seccions as $item) $this->json($menu); } }
model public function get_rows(){ $this->db->select('id,sección'); $this->db->from('storelte_seccion'); return $this->db->get()->result_array(); } public function query($query){ return
<div class="row"> <h3 class="text-center">Welcome to storeLTE, click a module below to get started!</h3> <div class="home_module_list"> <div class="module_item"> <?php foreach ($seccions as $session) { ?> <div class="module_item" title="<?= $session['value'];?>"> <a href="<?= $session['url']; ?>"><img src="<?= $session['icon']; ?>"/></a> <a href="<?= $session['url']; ?>"><?= $session['value']?></a> </div> <?php } ?> </div> </div> </div>
|
|
|
12
|
Programación / Desarrollo Web / problema al pasar indexes de json a la vista con foreach
|
en: 15 Agosto 2016, 18:27 pm
|
bueno mi error es que me da invalid argument supplied for foreach() y no me esta accediento bien al índice del arreglo, estoy usando codeigniter pero como pudiera arreglar ese error mi json del la función del controlador es [{"id":"1","sección":"Inventario","data":[{"id":"11","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/items.png","value":"Productos","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/inventario\/product"},{"id":"14","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/employees.png","value":"Provedores","seccion_id":"1","url":"http:\/\/localhost\/storeLTE\/provedor\/provedor"}]},{"id":"2","sección":"Compras","data":[{"id":"22","icon":"http:\/\/localhost\/storeLTE\/assets\/img\/sidebar\/suppliers.png","value":"Compras","seccion_id":"2","url":"http:\/\/localhost\/storeLTE\/compras\/compras"}]}]
controller public function getModules($id_module){ if($this->session->userdata('log')){ $data = $this->session->userdata('log'); $seccions = $this->module->get_rows(); foreach ($seccions as $index => $sección){ $modules = $this->module->query("SELECT CONCAT('".$sección['id']."',storelte_modulo.id) AS id,CONCAT('".base_url('assets/img/sidebar')."','/',storelte_modulo.icon) as icon, storelte_modulo.modulo AS value,storelte_modulo.seccion_id,CONCAT('".base_url()."',storelte_modulo.url) AS url FROM storelte_modulo INNER JOIN storelte_modulo_perfil ON storelte_modulo_perfil.modulo_id = storelte_modulo.id WHERE seccion_id = $sección[id] AND storelte_modulo_perfil.perfiles_id = $data[id] AND storelte_modulo_perfil.STATUS = 1"); $seccions[$index]['data']= $modules; if (!count($seccions[$index]['data'])) unset($seccions[$index]); } foreach ($seccions as $item) $this->json($menu); } }
model public function get_rows(){ $this->db->select('id,sección'); $this->db->from('storelte_seccion'); return $this->db->get()->result_array(); } public function query($query){ return
<div class="row"> <h3 class="text-center">Welcome to storeLTE, click a module below to get started!</h3> <div class="home_module_list"> <div class="module_item"> <?php foreach ($seccions as $session) { ?> <div class="module_item" title="<?= $session['value'];?>"> <a href="<?= $session['url']; ?>"><img src="<?= $session['icon']; ?>"/></a> <a href="<?= $session['url']; ?>"><?= $session['value']?></a> </div> <?php } ?> </div> </div> </div>
|
|
|
14
|
Seguridad Informática / Hacking / hacking y anonimato
|
en: 20 Julio 2016, 01:32 am
|
tengo una duda como ya sabemos al ejectuar un ataque sqli por medio de la url y despues pasarlo al sqlmap para hacerlo mas efectivo, esto va dejar la ip de inicio y fin para que tanta probabilidad que cuentre la ip del atacante usando un vpn?
|
|
|
15
|
Programación / PHP / como editar un item con hash de ida y vuelta?
|
en: 18 Julio 2016, 05:05 am
|
como pudiera editar mi producto sin que me falle el query ocupo en ves que me muestre el id original de la tabla que sea por cualquier metodo de encriptacion md5,sha1,sh256 o sha512. pero problema esta el al momento de querer editarlo se va por no se actualizaron los datos como pudiera hacer el hash de ida y vuelta sin desencriptarlo? y que funcione bien controller case 'search': $main = 0; $limit = 3; if (isset($_POST['page'])) { $page = $_POST['page']; $main = ($page - 1) * $limit; } $id = $_POST['id']; $search = new product(); $__result= $search->searchProduct($id); $__Result = count($__result); $final_result = $search->searchProduct($id,$main,$limit); break; case 'update': $id = $_POST['id']; $editCode = $_POST['editCode']; $editProduct = $_POST['editProduct']; $editPrice = $_POST['editPrice']; $editStock = $_POST['editStock']; $update = new product(); if($update->update($id,$editCode,$editProduct,$editPrice,$editStock)){ $stock = $update->getProductStock($id); if ($stock > 20) { notification::removeNotifications($id); } echo 'sucess'; }else{ echo "No se Actualizo los datos"; } break;
model function update($id,$editCode,$editProduct,$editPrice,$editStock){ $sql="UPDATE product SET code = '{$editCode}',product='{$editProduct}',purchase_price={$editPrice},stock={$editStock} WHERE idproduct={$id}"; //echo $sql; if($this->conexion->conexion->query($sql)){ return true; } else{ return false; } $this->conexion->cerrar(); }
function searchProduct($id,$main=false,$limit=false){ if($main !== false && $limit !== false){ $sql="SELECT md5(idproduct) AS id,code,product,purchase_price,stock,product.status FROM product WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY id ASC LIMIT $main,$limit"; }else{ $sql="SELECT md5(idproduct) AS id,code,product,purchase_price,stock,product.status FROM product WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY id"; } $this->conexion->conexion->set_charset('utf8'); $result=$this->conexion->conexion->query($sql); while($record = $result->fetch_array(MYSQLI_NUM)){ $array[] = $record; } return $array; echo $result; $this->conexion->cerrar(); }
|
|
|
16
|
Programación / PHP / como comprar un el id crifrado para poder editar un item?
|
en: 16 Julio 2016, 23:53 pm
|
como podria comparar mi id crifrado para poder editarlo sin que falla mi consulta, pero no ocupo desencriptarlo ya que lo estaria haciendo mal ocuparia comprar el string crifrado por el mismo cifrado pero como lo pudiera hacer si lo paso por ajax controller case 'update': $id = $_POST['id']; $editCode = $_POST['editCode']; $editProduct = $_POST['editProduct']; $editPrice = $_POST['editPrice']; $editStock = $_POST['editStock']; $update = new product(); if($update->update($id,$editCode,$editProduct,$editPrice,$editStock)){ $stock = $update->getProductStock($id); if ($stock > 20) { notification::removeNotifications($id); } }else{ echo "No se Actualizo los datos"; } break;
model function update($id,$editCode,$editProduct,$editPrice,$editStock){ $sql="UPDATE product SET code = '{$editCode}',product='{$editProduct}',purchase_price={$editPrice},stock={$editStock} WHERE idproduct={$id}"; if($this->conexion->conexion->query($sql)){ return true; } else{ return display_errors(); } $this->conexion->cerrar(); }
function searchProduct($id,$main=false,$limit=false){ if($main !== false && $limit !== false){ $sql="SELECT md5(idproduct),code,product,purchase_price,stock,product.status FROM product WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY idproduct ASC LIMIT $main,$limit"; }else{ $sql="SELECT md5(idproduct),code,product,purchase_price,stock,product.status FROM product WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY idproduct"; } $this->conexion->conexion->set_charset('utf8'); $result=$this->conexion->conexion->query($sql); while($record = $result->fetch_array(MYSQLI_NUM)){ $array[] = $record; } return $array; echo $result; $this->conexion->cerrar(); }
AJAX function searchProduct(id,page){ var page=Number(page); $.ajax({ url:'../controller/product_controller.php', type:'POST', data:'id='+id+'&page='+page+'&boton=search' }).done(function(resp){ var d=resp.split("*"); var Data = eval(d[0]); if(Data.length === 0) $('#info').html('<h4 style="color: red">Sorry there are no products available</h4>') else $('#info').html(''); html="<table class='table table-condensed table-hover table-striped'><thead><th>#</th><th>code</th><th>image</th><th>product</th><th>price</th><th>stock</th><th>status</th><th>option<th></thead><tbody>"; for(i=0;i<Data.length;i++){ status = (Data[i][5] == 1) ? "<span class='label label-success'>active</span>":"<span class='label label-danger'>inactive</span>"; data=Data[i][0]+"*"+Data[i][1]+"*"+Data[i][2]+"*"+Data[i][3]+"*"+Data[i][4]; html+="<tr><td>"+(i+1)+"<td>"+Data[i][1]+"</td><td>image</td><td>"+Data[i][2]+"</td><td>"+Data[i][3]+"</td><td>"+Data[i][4]+"</td><td>"+status+"</td></td></td><td><button class='btn btn-warning btn-options' data-toggle='modal' data-target='#modalproduct' onclick='mostrar("+'"'+data+'"'+");'><span class='glyphicon glyphicon-pencil'></span></button><button class='btn btn-danger btn-options' onclick='Delete("+'"'+Data[i][0]+'"'+")'><span class='glyphicon glyphicon-trash'></span></button></td></tr>"; } html+="</tbody></table>" $("#list-product").html(html); var totalrec = d[1]; var num_paginate = Math.ceil(totalrec/3); var fieldSeach=$("#search").val(); paginate="<ul class='pagination'>"; if(page>1){ //paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+1+'"'+")'>«</a></li>"; paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+(page-1)+'"'+")'>«</a></li>"; } else{ //paginate+="<li class='disabled'><a href='javascript:void(0)'>«</a></li>"; paginate+="<li class='disabled'><a href='javascript:void(0)'>«</a></li>"; } limit = 10; div = Math.ceil(limit / 2); pageMain = (page > div) ? (page - div) : 1; if (num_paginate > div){ pagRestantes = num_paginate - page; pagFin = (pagRestantes > div) ? (page + div) : num_paginate; } else{ pagFin = num_paginate; } for(i=pageMain;i<=pagFin;i++){ if(i==page) paginate+="<li class='active'><a href='javascript:void(0)'>"+i+"</a></li>"; else paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+i+'"'+")'>"+i+"</a></li>"; } if(page<num_paginate){ paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+(page+1)+'"'+")'>»</a></li>"; //paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+num_paginate+'"'+")'>»</a></li>"; } else{ paginate+="<li class='disabled'><a href='javascript:void(0)'>»</a></li>"; //paginate+="<li class='disabled'><a href='javascript:void(0)'>»</a></li>"; } paginate+="</ul>"; $("#paginador").html(paginate); }); }
|
|
|
17
|
Programación / PHP / como podria mostrar el id cifrada sin que pierda los datos al mostrarlo
|
en: 12 Julio 2016, 01:36 am
|
al momento de querer cifrar el id que muestra es lo que trae la tabla de la base de datos pero no lo ocupo de esa manera si no cifrada pero no como mandarla ya que lo muestro por js y no con un simple echo md5(id); controller case 'search': $main = 0; $limit = 3; if (isset($_POST['page'])) { $page = $_POST['page']; $main = ($page - 1) * $limit; } $id = $_POST['id']; $search = new product(); $__result= $search->searchProduct($id); $__Result = count($__result); $final_result = $search->searchProduct($id,$main,$limit); break; case 'update': $id = $_POST['id']; $editCode = $_POST['editCode']; $editProduct = $_POST['editProduct']; $editPrice = $_POST['editPrice']; $editStock = $_POST['editStock']; $update = new product(); if($update->update($id,$editCode,$editProduct,$editPrice,$editStock)){ $stock = $update->getProductStock($id); if ($stock > 20) { notification::removeNotifications($id); } echo 'sucess'; }else{ echo "No se Actualizo los datos"; } break;
model function searchProduct($id,$main=false,$limit=false){ if($main !== false && $limit !== false){ $sql="SELECT idproduct,code,product,purchase_price,stock,product.status FROM product WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY idproduct ASC LIMIT $main,$limit"; }else{ $sql="SELECT idproduct,code,product,purchase_price,stock,product.status FROM product WHERE code like '%".$id."%' or product like '%".$id."%' ORDER BY idproduct"; } $this->conexion->conexion->set_charset('utf8'); $result=$this->conexion->conexion->query($sql); while($record = $result->fetch_array(MYSQLI_NUM)){ $array[] = $record; } return $array; $this->conexion->cerrar(); }
ajax function searchProduct(id,page){ var page=Number(page); $.ajax({ url:'../controller/product_controller.php', type:'POST', data:'id='+id+'&page='+page+'&boton=search' }).done(function(resp){ var d=resp.split("*"); var Data = eval(d[0]); if(Data.length === 0) $('#info').html('<h4 style="color: red">Sorry there are no products available</h4>') else $('#info').html(''); html="<table class='table table-condensed table-hover table-striped'><thead><th>#</th><th>code</th><th>image</th><th>product</th><th>price</th><th>stock</th><th>status</th><th>option<th></thead><tbody>"; for(i=0;i<Data.length;i++){ status = (Data[i][5] == 1) ? "<span class='label label-success'>active</span>":"<span class='label label-danger'>inactive</span>"; data=Data[i][0]+"*"+Data[i][1]+"*"+Data[i][2]+"*"+Data[i][3]+"*"+Data[i][4]; html+="<tr><td>"+(i+1)+"<td>"+Data[i][1]+"</td><td>image</td><td>"+Data[i][2]+"</td><td>"+Data[i][3]+"</td><td>"+Data[i][4]+"</td><td>"+status+"</td></td></td><td><button class='btn btn-warning btn-options' data-toggle='modal' data-target='#modalproduct' onclick='mostrar("+'"'+data+'"'+");'><span class='glyphicon glyphicon-pencil'></span></button><button class='btn btn-danger btn-options' onclick='Delete("+'"'+Data[i][0]+'"'+")'><span class='glyphicon glyphicon-trash'></span></button></td></tr>"; } html+="</tbody></table>" $("#list-product").html(html); var totalrec = d[1]; var num_paginate = Math.ceil(totalrec/3); var fieldSeach=$("#search").val(); paginate="<ul class='pagination'>"; if(page>1){ //paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+1+'"'+")'>«</a></li>"; paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+(page-1)+'"'+")'>«</a></li>"; } else{ //paginate+="<li class='disabled'><a href='javascript:void(0)'>«</a></li>"; paginate+="<li class='disabled'><a href='javascript:void(0)'>«</a></li>"; } limit = 10; div = Math.ceil(limit / 2); pageMain = (page > div) ? (page - div) : 1; if (num_paginate > div){ pagRestantes = num_paginate - page; pagFin = (pagRestantes > div) ? (page + div) : num_paginate; } else{ pagFin = num_paginate; } for(i=pageMain;i<=pagFin;i++){ if(i==page) paginate+="<li class='active'><a href='javascript:void(0)'>"+i+"</a></li>"; else paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+i+'"'+")'>"+i+"</a></li>"; } if(page<num_paginate){ paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+(page+1)+'"'+")'>»</a></li>"; //paginate+="<li><a href='javascript:void(0)' onclick='searchProduct("+'"'+fieldSeach+'","'+num_paginate+'"'+")'>»</a></li>"; } else{ paginate+="<li class='disabled'><a href='javascript:void(0)'>»</a></li>"; //paginate+="<li class='disabled'><a href='javascript:void(0)'>»</a></li>"; } paginate+="</ul>"; $("#paginador").html(paginate); }); } function mostrar(data){ var d=data.split("*"); console.log(d); $("#id").val(d[0]); $("#editCode").val(d[1]); $("#editProduct").val(d[2]); $("#editPrice").val(d[3]); $("#editStock").val(d[4]); }
|
|
|
18
|
Programación / Programación C/C++ / problemas al borrar un elemento en el archivo
|
en: 26 Junio 2016, 19:56 pm
|
en mi funcion eleminar tengo una validacion como esta if(inventario.cod == elim){
cual hize para borrar solo un elemento pero el problema que cuando intento borrar un elemento me borra todo los elementos del archivo y el de reporte no me muestra nada. no se que estoy haciendo mal #include <stdio.h> #include <conio.h> #include <string.h> #include <stdlib.h> FILE *file; FILE *tmp; struct inven{ int cod; char descrip[30]; int exist; int exist_min; int exist_max; float precio; int cod_provedor; }inventario; void crear(); void modificar(); void eliminar(); void reporte(); void menu(); void menu(){ int resp; do{ printf("\n\t\t---------------------------------------------------"); printf("\n\t\t\t S T O R E L T E "); printf("\n\t\t-------------------------------------------------\n\n\n\n"); printf("\t\t\t\t [1] agregar producto \n"); printf("\t\t\t\t [2] modificar un producto \n"); printf("\t\t\t\t [3] eliminar \n"); printf("\t\t\t\t [4] reporte \n"); printf("\t\t\t\t [5] salir ........ "); printf("\n\n\t\t\t\tSelecciona: "); switch(resp){ case '1': crear(); break; case '2': modificar(); break; case '3': eliminar(); break; case '4': reporte(); break; default: } } while(resp!=6); } int main(){ menu(); return 0; } void crear(){ int codigo = inventario.cod; char opcion = 's'; if ((file =fopen("inventario.txt","a+"))==NULL ) printf("\n\n\n\n\t\t< < < Error de apertura de archivo inventario.dat > > >"); else{ while(opcion == 's'){ printf("\n\n CODIGO: \t%d",codigo ++); scanf("%s",&inventario. descrip); printf("\n\n EXISTENCIA DEL PRODUCTO:\t "); scanf("%s", &inventario. exist); printf("\n\n PRECIO UNITARIO DEL PRODUCTO:\t "); scanf("%s",&inventario. precio); fwrite(&inventario , sizeof(inventario ), 1, file ); printf("\n\n\n\t\t DESEAS CAPTURAR OTRO PRODUCTO [s/n] : "); } } } void modificar(){ int opc,i=0; char elim[6]; printf("\nINGRESE EL CODIGO DEL PRODUCTO A MODIFICAR: "); file = fopen("inventario.dat","r+b"); if(!file) printf("\n Error de apertura del archivo inventario.dat\n"); else{ while (((fread(&inventario , sizeof(inventario ), 1, file ))!=0)&&i !=1){ //if(!strcmp(inventario.cod,elim)){ if(inventario.cod!=elim){ printf("DESCRIPCION : %s\n",inventario. descrip); printf("EXISTENCIA : %s\n",inventario. exist); printf("PRECIO UNITARIO :$ %s\n",inventario. precio); printf ("\nQUE DESEA MODIFICAR: "); printf ("\n\t\t\t1.-DESCRIPCION\n"); printf("\t\t\t2.-EXISTENCIA\n"); printf ("\t\t\t3.-PRECIO UNITARIO\n"); printf("\t\t\tDIGITA TU OPCION :"); switch (opc!=4){ case 1: printf ("\nINGRESA LA NUEVA DESCRIPCION: "); scanf("%s",&inventario. descrip); break; case 2: printf ("\nINGRESA LA NUEVA EXISTENCIA "); scanf("%s",&inventario. exist); break; case 3: printf ("\nINGRESA EL NUEVO PRECIO UNITARIO "); scanf("%s",&inventario. precio); break; } fseek(file ,sizeof(inventario ),SEEK_CUR ); fwrite(&inventario ,sizeof(inventario ), 1, file ); i=1; } } } } void eliminar(){ char elim[10]; printf("\nINGRESE EL CODIGO DEL PRODUCTO PARA ELIMINAR: "); file =fopen("inventario.dat","r+b"); tmp =fopen("inventario1.dat","wb"); if(!file) printf("\n Error de apuertura del archivo inventario.dat\n"); else{ while(((fread(&inventario , sizeof(inventario ), 1, file ))!=0)){ if(inventario.cod == elim){ //fseek(tmp,sizeof(inventario),SEEK_END); //fseek(tmp,sizeof(inventario),SEEK_CUR); fwrite(&inventario ,sizeof(inventario ), 1, tmp ); tmp =fopen("inventario1.dat","r+b"); printf ("\n\n\n\n\n\n\n\n\n\n\n EL PRODUCTO SE HA ELIMINADO CORRECTAMENTE \n"); printf ("\n OPRIMA CUALQUIER TECLA PARA CONTINUAR"); } } system("ren inventario1.dat inventario.dat"); } } void reporte (){ int i; FILE *invent; invent = fopen("inventario.dat", "r"); if(invent == NULL) { printf("\nNo existe archivo"); } fread(&inventario , sizeof(struct inven ), 20, invent ); printf("------------------------------------------------------------------\n"); printf("CODIGO DESCRIPCION\t\tEXISTENCIA\tPRECIO UNITARIO \n"); printf("------------------------------------------------------------------\n"); printf(" %s %s\t\t %s\t\t %s \n",inventario. cod,inventario. descrip,inventario. exist,inventario. precio); fread(&inventario , sizeof(struct inven ), 20, invent ); } }
|
|
|
19
|
Sistemas Operativos / GNU/Linux / debian server ftp
|
en: 24 Junio 2016, 05:33 am
|
para empezar tengo /home/public_html pero al agregar un usuario tengo que crear dicha carpta public_html en cada usuario que creo como pudo hacer para que esa carpeta sea compartida en cada usuario que cree y ellos puedan subir archivos en dicha carpeta otra cosa public_html contiene todos los archivos de php y phpmyadmin para que funcione ya que cambie la ruta de /var/www/html to /home/public_html, pero como pudiera hacer para el usuario solo vea la carpeta en blanco sin todo los archivos como los hosting. para terminar como pudiera hacer un demonio para correr php y mysql cada ves que prenda la pc.
|
|
|
20
|
Sistemas Operativos / GNU/Linux / Permisos a un archivo de una carpeta
|
en: 23 Junio 2016, 04:05 am
|
como puedo darle permisio de un archivo pero que solamente pueda ser modificado por los usuarios del un dicho grupo
intente chown www-data usuario1:grupo_2 archivo pero no puedo modificarl dicho archivo ni con el que cree el archivo como pudiera hacerlo
|
|
|
|
|
|
|