Foros del Web » Programando para Internet » PHP »

permisos por PHP

Estas en el tema de permisos por PHP en el foro de PHP en Foros del Web. Hola a todos; estoy intentando crear por medio de un apagina php un directorio, el caso es que me crea el directorio, pero no me ...
  #1 (permalink)  
Antiguo 27/05/2010, 12:55
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
permisos por PHP

Hola a todos;
estoy intentando crear por medio de un apagina php un directorio, el caso es que me crea el directorio, pero no me da los permisos para insertar las imagenes.
he probado con
Código PHP:
mkdir("usuarios/".$nombre_usuario,0777); 
, me crea la carpeta dentro del directirio "usuarios" pero me la crea con los permisos 775 y no me sube las imagenes.
Puede ser que tenga que modificar algo en el PHP.INI del servidor?.

Un saludo
  #2 (permalink)  
Antiguo 27/05/2010, 14:17
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: permisos por PHP

Prueba asi:

Código PHP:
mkdir('usuarios/'.$nombre_usuario0777);  

chmod('usuarios/'.$nombre_usuario0777); 
Repecto al lo de subir las imagenes , puede ser porque las carpetas eran creadas 0775.

Prueba lo que te he dejado y si no funciona deja tu codigo completo para ver lo que falla

Saludos
  #3 (permalink)  
Antiguo 27/05/2010, 14:33
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: permisos por PHP

Gracias, ya me coje el 777 en las carpeta, pero no me suben las imagenes, aunque si me inserta el link en la BB.DD. este es el codigo que tengo.

Código PHP:
srand (time());

    
//generamos un número aleatorio
       //Preguntamos si nuetro arreglo 'archivos' fue definido
    
if (isset ($_FILES["archivos"])) {
         
//de se asi, para procesar los archivos subidos al servidor solo debemos recorrerlo
         //obtenemos la cantidad de elementos que tiene el arreglo archivos
         
$tot count($_FILES["archivos"]["name"]);
        
        
$nombre_usuario=$_GET['id'];
         
$ifile=$_FILES["archivos"];
         
          
mkdir("usuarios/".$nombre_usuario);
          
chmod("usuarios/".$nombre_usuario,0777);
         
         
         for (
$i 0$i $tot$i++){
             
             
$rnd rand(1,100000000000);
            
//con el indice $i, poemos obtener la propiedad que desemos de cada archivo
            //para trabajar con este
             
$name $rnd."_".$_FILES["archivos"]["name"][$i];
               
$tmp_name1 $_FILES["archivos"]["tmp_name"][$i];
               
              
$tamano $_FILES["archivos"]["size"][$i];
              
$tipo $_FILES["archivos"]["type"][$i];
              
            
$linkimagen =("usuarios/".$nombre_usuario."/".$name);
            
            
           
         if (
$tipo != "image/gif" && $tipo != "image/pjpeg" && $tipo != "image/bmp" && $tipo != "image/png" && $tipo != "image/x-png" && $tipo != "image/jpeg" && $tipo != "image/jpg") {
             
$error "El archivo $name no es valido";
         
         }
        
         if (!
$error) {
        
            
$insertSQL="INSERT INTO galeria (idusuario, imagen) VALUES ('".$nombre_usuario."', '".$linkimagen."')";   
            
           
// $copy = copy($tmp_name1, $linkimagen);
            
move_uploaded_file($tmp_name1 ,$linkimagen);
            
            
            
mysql_select_db($database_tengo$tengo);
            
$Result1 mysql_query($insertSQL$tengo) or die(mysql_error());
            
image_gd($linkimagen);
    
        } 
    }

Gracias
  #4 (permalink)  
Antiguo 27/05/2010, 16:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: permisos por PHP

si te inserta el link en la bd quiere decir que lo que esta mal es el bucle que has hecho

Código PHP:
 $name $rnd."_".$_FILES["archivos".$i]["name"]; 
               
$tmp_name1 $_FILES["archivos".$i]["tmp_name"]; 
                
              
$tamano $_FILES["archivos".$i]["size"]; 
              
$tipo $_FILES["archivos".$i]["type"]; 
Siempre y cuando sea archivos1, archivos2, etc

Ya me diras
Saludos

Última edición por wwwpinkrabbites; 27/05/2010 a las 16:54
  #5 (permalink)  
Antiguo 27/05/2010, 17:27
 
Fecha de Ingreso: febrero-2009
Mensajes: 218
Antigüedad: 15 años, 1 mes
Puntos: 9
Respuesta: permisos por PHP

Fijate aca: && quiere decir and, yo creo que lo que precisas es or que se representa así ||
Código PHP:
Ver original
  1. if ($tipo != "image/gif" && $tipo != "image/pjpeg" && $tipo != "image/bmp" && $tipo != "image/png" && $tipo != "image/x-png" && $tipo != "image/jpeg" && $tipo != "image/jpg") {
  2.              $error = "El archivo $name no es valido";
  3.          
  4.          }

La imagen debe ser un jpg o un gif o lo que sea...
  #6 (permalink)  
Antiguo 27/05/2010, 18:31
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: permisos por PHP

Cita:
Iniciado por fernandozunni Ver Mensaje
Fijate aca: && quiere decir and, yo creo que lo que precisas es or que se representa así ||
Código PHP:
Ver original
  1. if ($tipo != "image/gif" && $tipo != "image/pjpeg" && $tipo != "image/bmp" && $tipo != "image/png" && $tipo != "image/x-png" && $tipo != "image/jpeg" && $tipo != "image/jpg") {
  2.              $error = "El archivo $name no es valido";
  3.          
  4.          }

La imagen debe ser un jpg o un gif o lo que sea...
Fernando no creo que este hay el problema porque si no no le insertaria datos en la bd
  #7 (permalink)  
Antiguo 28/05/2010, 03:32
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: permisos por PHP

Pues es curioso, ya que si quito la variable $nombre_usuario en esta linea
Código PHP:
$linkimagen =("galeria/".$nombre_usuario."/".$name); 
me sube la imagen o imagnes, pero en cuando se lo coloco, no me sube las imagenes.
EL caso es que la carpeta y subcarpeta estan bien creadas y con permisos 777. No entiendo nada de nada
  #8 (permalink)  
Antiguo 28/05/2010, 03:55
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: permisos por PHP

Cita:
Iniciado por visona Ver Mensaje
Pues es curioso, ya que si quito la variable $nombre_usuario en esta linea
Código PHP:
$linkimagen =("galeria/".$nombre_usuario."/".$name); 
me sube la imagen o imagnes, pero en cuando se lo coloco, no me sube las imagenes.
EL caso es que la carpeta y subcarpeta estan bien creadas y con permisos 777. No entiendo nada de nada
SI que es curioso, pero si funciona, ya esta
Saludos
  #9 (permalink)  
Antiguo 28/05/2010, 03:58
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: permisos por PHP

Si, pero lo que queria hacer es crearle a cada usuario una carpeta de imagenes, por que ahora todo se guarda en una misma carpeta. Pero bueno, seguiré investigando a ver por que no puedo subir las imagenes como yo quiero si la subcarpeta tiene los permisos.
  #10 (permalink)  
Antiguo 28/05/2010, 04:03
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: permisos por PHP

Por que no haces un var_dump($nombre_usuario) a esta altura para ver que te muestra?
Código PHP:
Ver original
  1. var_dump($nombre_usuario)
  2. $linkimagen =("galeria/".$nombre_usuario."/".$name);
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #11 (permalink)  
Antiguo 28/05/2010, 04:46
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: permisos por PHP

Tu lo tienes asi:

Código PHP:
$linkimagen =("galeria/".$nombre_usuario."/".$name); 
Prueba quitando los parentesis, yo lo tengo sin ellos y me funciona:

Código PHP:
$linkimagen ="galeria/".$nombre_usuario."/".$name
Si no te funciona dilo y te mando un codigo mio muy parecido que tengo para hacer lo mismo que tu quieres pero con variables diferentes
  #12 (permalink)  
Antiguo 28/05/2010, 05:45
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: permisos por PHP

Pues no me va, me sigue fallando
  #13 (permalink)  
Antiguo 28/05/2010, 06:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 65
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: permisos por PHP

Prueba a cambiar esto

Código PHP:
  move_uploaded_file($tmp_name1 ,$linkimagen); 
por esto
Código PHP:
move_uploaded_file $_FILES archivos][ 'tmp_name' ][$i], 'usuarios/'.$nombre_usuario.'/'.$name); 
si no funciona pues puede ser un problema del bucle y para asegurarte prueba subiendo solo un archivo.

Código PHP:
<?php

        $nombre_usuario
=$_GET['id']; 
         
$ifile=$_FILES["archivos"]; 
          
          
mkdir("usuarios/".$nombre_usuario); 
          
chmod("usuarios/".$nombre_usuario,0777); 
          
$destino "usuarios/".$nombre_usuario 
          
          
move_uploaded_file $_FILES 'archivos' ][ 'tmp_name' ], $destino '/' $id); 
?>
  #14 (permalink)  
Antiguo 28/05/2010, 07:30
 
Fecha de Ingreso: diciembre-2007
Mensajes: 178
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: permisos por PHP

Creo que fernandozunni tiene razón, tal como esta ese código la imagen tendría que tener todos los formatos, y eso es imposible.

Una imagen tiene un formato 'u' otro.

No un formato 'y' otro.
  #15 (permalink)  
Antiguo 28/05/2010, 07:49
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: permisos por PHP

No no, eso está bien

He copiao el codigo y lo he probao cambiandolo y esa parte esta correcta, tambien pensaba que era por eso xD
__________________
Antes de cambiar el mundo...dá tres vueltas por tu casa

Usa Google es tu amigo ;)
  #16 (permalink)  
Antiguo 29/05/2010, 06:02
 
Fecha de Ingreso: febrero-2008
Mensajes: 675
Antigüedad: 16 años, 2 meses
Puntos: 5
Respuesta: permisos por PHP

No creo que sea un problema del bucle, ya que si quito esa variable, me sube las imagenes. y esa variable, lo unico que hace es decirle donde subir la imagen.

Pruebo lo que me dices y ya te digo cosas.
Muchas gracias


Cita:
Iniciado por wwwpinkrabbites Ver Mensaje
Prueba a cambiar esto

Código PHP:
  move_uploaded_file($tmp_name1 ,$linkimagen); 
por esto
Código PHP:
move_uploaded_file $_FILES archivos][ 'tmp_name' ][$i], 'usuarios/'.$nombre_usuario.'/'.$name); 
si no funciona pues puede ser un problema del bucle y para asegurarte prueba subiendo solo un archivo.

Código PHP:
<?php

        $nombre_usuario
=$_GET['id']; 
         
$ifile=$_FILES["archivos"]; 
          
          
mkdir("usuarios/".$nombre_usuario); 
          
chmod("usuarios/".$nombre_usuario,0777); 
          
$destino "usuarios/".$nombre_usuario 
          
          
move_uploaded_file $_FILES 'archivos' ][ 'tmp_name' ], $destino '/' $id); 
?>

Etiquetas: permisos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:42.