Necesito ayudaaaa!!!
Tengo u ncodigo para permitir a los visitantes de mi web que suban archivos y no me funciona, me sale siempre este mnsaje Warning: copy(uploads/IMG_9656.jpg): failed to open stream: Permission denied in /home/infodena/public_html/uploader.php on line 88
Sabeis porque??????
Alguien tiene algun codigo que funcione realmente para hacer eso o sabria hacer funcionar el mio. Se lo enviaria para que lo viese.
Un saludo y espero sus respuestas
Sabeis porque??????
Alguien tiene algun codigo que funcione realmente para hacer eso o sabria hacer funcionar el mio. Se lo enviaria para que lo viese.
Un saludo y espero sus respuestas
Bueno he decido poner algo de codigo..jejeje
En el formulario debe aparecer algo como
<form name="form1" method="post" action="miscript.php" enctype="multipart/form-data" accept="image/gif,image/pjpeg,audio/mpeg">
En accept="" puedes poner los tipos mime de los ficheros que desean que suban los usuarios, los del ejemplo te valen para imagenes gif,jpg, y creo q algunas mƔs y para mp3.
Los campos deben ser del tipo file aunq supongo q esto ya lo sabes
<input type="file" name="fichero" size="20">
AquĆ un posible codigo :)
if ($HTTP_POST_FILES['fichero']['name']!="") //se ha rellenado el campo fichero
if (!(is_uploaded_file($HTTP_POST_FILES['fichero']['tmp_name']))) //no se cargo el fichero
{
echo "Se ha producido un error, por alguna razón no se ha cargado el fichero, por favor vuelva atras e intentelo otra vez, si continua fallando no dude en avisarnos <a href="mailto:[email protected]">AVISAR</a>";
exit();
}
else if (($HTTP_POST_FILES['fichero']['type']!='image/pjpeg')||($HTTP_POST_FILES['fichero']['type']!='image/gif')||($HTTP_POST_FILES['fichero']['type']!='audio/mpeg'))
{
echo "El fichero es de un tipo no admitido.";
exit();
}
else if ($HTTP_POST_FILES['fichero']['size']>$max_tamaƱo) //$max_tamaƱo puedes asignarle el tamaƱo maximo del fichero, el tamaƱo es en bytes
{
echo "El fichero es demasiado grande";
exit();
}
else // Todo esta en orden
if(!(is_dir("midirectorio"))) // sino existe el directorio
if(!(mkdir("midirectorio", 0777))) // lo creamos y comprobamos que ha ido bien
{
echo "Se ha producido un error, al intentar crear el directorio midirectorio, por favor vuelva atras e intentelo otra vez, si continua fallando no dude en avisarnos <a href="mailto:[email protected]">AVISAR</a>";
exit();
}
if(!(move_uploaded_file($HTTP_POST_FILES['fichero']['tmp_name'],"midirectorio/".$HTTP_POST_FILES['fichero']['name'])))
{
echo "Se ha producido un error al copiar el fichero";
exit()
}
Lo del tratamiento de lo errores puedes cambiarlo y poner lo que mejor te paresca, lo que he puesto es solo un ejemplo de lo que se puede hacer.
Espero te sirva de ayuda :)
En el formulario debe aparecer algo como
<form name="form1" method="post" action="miscript.php" enctype="multipart/form-data" accept="image/gif,image/pjpeg,audio/mpeg">
En accept="" puedes poner los tipos mime de los ficheros que desean que suban los usuarios, los del ejemplo te valen para imagenes gif,jpg, y creo q algunas mƔs y para mp3.
Los campos deben ser del tipo file aunq supongo q esto ya lo sabes
<input type="file" name="fichero" size="20">
AquĆ un posible codigo :)
if ($HTTP_POST_FILES['fichero']['name']!="") //se ha rellenado el campo fichero
if (!(is_uploaded_file($HTTP_POST_FILES['fichero']['tmp_name']))) //no se cargo el fichero
{
echo "Se ha producido un error, por alguna razón no se ha cargado el fichero, por favor vuelva atras e intentelo otra vez, si continua fallando no dude en avisarnos <a href="mailto:[email protected]">AVISAR</a>";
exit();
}
else if (($HTTP_POST_FILES['fichero']['type']!='image/pjpeg')||($HTTP_POST_FILES['fichero']['type']!='image/gif')||($HTTP_POST_FILES['fichero']['type']!='audio/mpeg'))
{
echo "El fichero es de un tipo no admitido.";
exit();
}
else if ($HTTP_POST_FILES['fichero']['size']>$max_tamaƱo) //$max_tamaƱo puedes asignarle el tamaƱo maximo del fichero, el tamaƱo es en bytes
{
echo "El fichero es demasiado grande";
exit();
}
else // Todo esta en orden
if(!(is_dir("midirectorio"))) // sino existe el directorio
if(!(mkdir("midirectorio", 0777))) // lo creamos y comprobamos que ha ido bien
{
echo "Se ha producido un error, al intentar crear el directorio midirectorio, por favor vuelva atras e intentelo otra vez, si continua fallando no dude en avisarnos <a href="mailto:[email protected]">AVISAR</a>";
exit();
}
if(!(move_uploaded_file($HTTP_POST_FILES['fichero']['tmp_name'],"midirectorio/".$HTTP_POST_FILES['fichero']['name'])))
{
echo "Se ha producido un error al copiar el fichero";
exit()
}
Lo del tratamiento de lo errores puedes cambiarlo y poner lo que mejor te paresca, lo que he puesto es solo un ejemplo de lo que se puede hacer.
Espero te sirva de ayuda :)