Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: deopoldo en 5 Julio 2009, 01:45 am



Título: subir archivos via php
Publicado por: deopoldo en 5 Julio 2009, 01:45 am
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...!!!


Título: Re: subir archivos via php
Publicado por: [u]nsigned en 5 Julio 2009, 03:00 am
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
  1. <form action="subearchivo.php" method="post" enctype="multipart/form-data">
  2.    <input name="userfile" type="file"><br />
  3.    <input type="submit" value="Subir Archivo">
  4. </form>

subearchivo.php
Código
  1. <?
  2. //datos del arhivo
  3. $nombre_archivo = $HTTP_POST_FILES['userfile']['name'];
  4. $tamano_archivo = $HTTP_POST_FILES['userfile']['size'];
  5. //Compruebo el tamaño del archivo (maximo que 100.000 bytes en este ejemplo)
  6. if (  $tamano_archivo < 100000 ) {
  7.    echo "El archivo es demasiado grande. Tamaño maximo 100.000 Bytes.";
  8. }else{
  9.    if (move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], $nombre_archivo)){
  10.       echo "El archivo ha sido cargado correctamente.";
  11.    }else{
  12.       echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
  13.    }
  14. }
  15. ?>
  16.  

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

Saludos


Título: Re: subir archivos via php
Publicado por: deopoldo en 5 Julio 2009, 12:29 pm
vale el codigo del formulario es este:
Código:
<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:
Código:
<!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:
Código:
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...


Título: Re: subir archivos via php
Publicado por: rigoxls en 6 Julio 2009, 02:34 am
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?.....


Título: Re: subir archivos via php
Publicado por: дٳŦ٭ en 8 Julio 2009, 06:26 am
Usa $_FILES.