subir archivos via php

Iniciado por deopoldo, 5 Julio 2009, 01:45 AM

0 Miembros y 1 Visitante están viendo este tema.

deopoldo

ola buenas... estoi ya desesperao... e creado una web y quiero qe las personas qe acedan a la web puedan subir archivos... e estado buskando por millones de web y no soi capaz de que funcione bien... soi muy de demasiado novato en php... si alguien me exara una gran ayuda se lo agradeceria un monton...

un saludo...!!!

[u]nsigned

Podrias postear el metodo que usas para ver cual es el error..o en que te estas equibocando.

Aca te pngo un ejemplo, separando el php del formulario, para que se entienda mejor:

Formulario en Págna HTML:
Código (html4strict) [Seleccionar]

<form action="subearchivo.php" method="post" enctype="multipart/form-data">
    <input name="userfile" type="file"><br />
    <input type="submit" value="Subir Archivo">
</form>


subearchivo.php
Código (php) [Seleccionar]

<?
//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//Compruebo el tamaño del archivo (maximo que 100.000 bytes en este ejemplo)
if (  $tamano_archivo < 100000 ) {
    echo "El archivo es demasiado grande. Tamaño maximo 100.000 Bytes.";
}else{
    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
       echo "El archivo ha sido cargado correctamente.";
    }else{
       echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}
?>


Tambien hay que decir que para que esto funciones, PHP debe tener permiso de escritura en el servidor.

Saludos

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!

deopoldo

vale el codigo del formulario es este:
<form action="acrep.php" method="post" enctype="multipart/form-data">
<input name="enviar" type="submit" value="Subir Archivo" />
<input name="action" type="hidden" value="upload" />     
</form>


y aqui el php:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin título</title>
</head>

<body>
<?
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto = $_POST["cadenatexto"];
echo "Escribió en el campo de texto: " . $cadenatexto . "<br><br>";

//datos del arhivo
$nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo = $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg")) && ($tamano_archivo < 100000))) {
    echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
       echo "El archivo ha sido cargado correctamente.";
    }else{
       echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}
?>
</body>
</html>


cuando le doi a enviar, me aparece un mensaje de error que pone:
No se puede mostrar la página
No se puede mostrar la página que está buscando porque la dirección de la página es incorrecta. 

--------------------------------------------------------------------------------

Pruebe lo siguiente:

Si escribió la dirección de la página en la barra de direcciones, compruebe que la ha escrito correctamente.

Abra la página principal 192.168.0.14 y busque vínculos a la información que desee.
HTTP 405 – Resource not allowed
Servicios de Internet Information Server

--------------------------------------------------------------------------------

Información técnica (para personal de soporte)

Más información:
Soporte técnico de Microsoft



yo ya no se que hacer... de por si esta todo bien... y e copiado tal y como esta el tuyo y me da el mismo error... e elevado los permisos y aun asi me dice lo mismo...

rigoxls

Saludos,

Verificaste que el nombre del archivo en el formulario este bien escrito?, es acrep.php?, esta en la misma carpeta en tu servidor?, esta en una subcarpeta?, has borrado los archivos temporales de tu pc?.....
No hay verdades absolutas sin ciegas posiciones !!!

дٳŦ٭



Con sangre andaluza :)