Foros del Web » Programando para Internet » PHP »

php funcion mkdir con permisos 0777

Estas en el tema de php funcion mkdir con permisos 0777 en el foro de PHP en Foros del Web. Hola a tod@s Tengo un problema conado trato de subir un archvio y que lo guarde en un directorio, si este no existe que se ...
  #1 (permalink)  
Antiguo 10/10/2007, 07:44
 
Fecha de Ingreso: noviembre-2005
Mensajes: 45
Antigüedad: 18 años, 5 meses
Puntos: 1
php funcion mkdir con permisos 0777

Hola a tod@s

Tengo un problema conado trato de subir un archvio y que lo guarde en un directorio, si este no existe que se ha creado y que guarde el arvhivo en el pero no hay forma de hacer que el sistema me cree el directorio con los permisos 0777 alguien sabe como puedo solucionarlo. Tengo un alojamiento comporatido con Plesk.

Os pongo el codigo que estoy usando.

<?php
if(isset($_POST['submit'])){
if (is_uploaded_file($_FILES['fichero']['tmp_name'])) {
if (!file_exists("ficheros6")) mkdir("ficheros6", 0777);
move_uploaded_file($_FILES['fichero']['tmp_name'], "ficheros6/".$_FILES['fichero']['name']);
echo "<br>Fichero subido: ".$_FILES['fichero']['name'];
} else {
echo "Error al subir el fichero: " . $_FILES['fichero']['name'];
}
}
?>

html

<form enctype="multipart/form-data" action="<? echo $PHP_SELF;?>" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="200000">
Subir esta imagen: <input name="fichero" type="file">
<input type="submit" name='submit' value="Subir Fichero">
</form>

Muchas gracias,

Saludos Maac
  #2 (permalink)  
Antiguo 10/10/2007, 08:34
Avatar de TolerantX  
Fecha de Ingreso: marzo-2006
Ubicación: Guadalajara, México.
Mensajes: 408
Antigüedad: 18 años, 1 mes
Puntos: 10
Re: php funcion mkdir con permisos 0777

Nunca abres el directorio donde creas y guardas tus archivos.

Código PHP:
<?php
if(isset($_POST['submit'])){
   
$dir opendir($tuRuta);
   if (
is_uploaded_file($_FILES['fichero']['tmp_name'])) {
      if (!
file_exists("ficheros6")) mkdir("ficheros6"0777);
         
move_uploaded_file($_FILES['fichero']['tmp_name'], "ficheros6/".$_FILES['fichero']['name']);
         echo 
"<br>Fichero subido: ".$_FILES['fichero']['name'];
      
       } else {
          echo 
"Error al subir el fichero: " $_FILES['fichero']['name'];
     }
    
closedir($dir);
}
?>
__________________
TolerantX
http://tolerantx.com
Linux User #385226
  #3 (permalink)  
Antiguo 10/10/2007, 10:40
 
Fecha de Ingreso: noviembre-2005
Mensajes: 45
Antigüedad: 18 años, 5 meses
Puntos: 1
Re: php funcion mkdir con permisos 0777

Muchas gracias TolerantX

Pero sigo sin poderlo hacer funcionar, me crea el directorio pero me lo pone con permisos 0755 y no consigo subir el archivo.

Si se te ocurre donde puedo tener le fallo o alguine sabe donde puede estar.

Muchas gracias por todo.

Saludos
  #4 (permalink)  
Antiguo 16/01/2008, 11:41
 
Fecha de Ingreso: enero-2008
Mensajes: 1
Antigüedad: 16 años, 3 meses
Puntos: 0
Re: php funcion mkdir con permisos 0777

No se si llego a tiempo pero tu error esta en que usas $HTTP_POST_FILES y para versiones superiores al 4 (mas o menos) ya no se usa esas variable, sino $_FILES

Un Saludo!

EDIT: Me acabo de dar cuenta que no es asi [upss], entonces es al reves jeje
  #5 (permalink)  
Antiguo 16/01/2008, 11:46
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Re: php funcion mkdir con permisos 0777

Hola maac78. Proba así:

Código PHP:
<?php
if(isset($_POST['submit'])){
if (
is_uploaded_file($_FILES['fichero']['tmp_name'])) {
if (!
file_exists("ficheros6")) 
mkdir("ficheros6"); 
chmod("ficheros6",  0777);
move_uploaded_file($_FILES['fichero']['tmp_name'], "ficheros6/".$_FILES['fichero']['name']);
echo 
"<br>Fichero subido: ".$_FILES['fichero']['name'];
} else {
echo 
"Error al subir el fichero: " $_FILES['fichero']['name'];
}
}
?>
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.
Tema Cerrado




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