Necesito ayudaaaa!!!

Powermaster
06 de Octubre del 2004
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

Sandy
06 de Octubre del 2004
Si quieres pasame tu codigo y le hecho un vistaso.

Sandy
06 de Octubre del 2004
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&oacute;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 :)

iron-phoenix
06 de Octubre del 2004
prueba con move_uploaded_file en vez de copy