PHP - Subir archivos en PHP

   
Vista:

Subir archivos en PHP

Publicado por Toni Sanz (2 intervenciones) el 22/12/2008 20:36:49
Buenas a todos.

Necesito subir ficheros desde un ordenador local al servidor donde se ejecuta la web. He probado varios códigos que hay por internet pero no consigo que me funcionen. Os pongo el código para tener una pequeña guía.

Saludos.

Código HTML es el form que envia el fichero.

<form enctype="multipart/form-data" action="subir.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form>

Código PHP se supone que es el que lo copia al disco duro pero no me va. Uso Apache sobre Windows y PHP 5.

<?php
// In PHP 4.1.0 or later, $_FILES should be used instead of $HTTP_POST_FILES.
if (is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {
copy($HTTP_POST_FILES['userfile']['tmp_name'], "/ficheros");
echo "funcionaaaa!!!!";
} else {
echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['userfile']['name'];
}
/* ...or... */
//move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'], "/ficheros");
?>

Muchas gracias a todos
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Subir archivos en PHP

Publicado por mikel (9 intervenciones) el 24/12/2008 07:32:30
CAMBIA ESTO:

copy($HTTP_POST_FILES['userfile']['tmp_name'], "/ficheros");

POR ESTO

copy($HTTP_POST_FILES['userfile']['tmp_name'], "/ficheros/$nombre_archivo.");

DONDE:

$nombre_archivo = $HTTP_POST_FILES['archivo']['name'];

NO ILVODES DE PONER OTRAS RESTRICCIONES A UT CODIGO AKI TE DEJO OTRA ALTERNATIVA
-------------------------------------------------------------------------------
$nombre_archivo = $HTTP_POST_FILES['archivo']['name'];
$tipo_archivo = $HTTP_POST_FILES['archivo']['type'];
$tamano_archivo = $HTTP_POST_FILES['archivo']['size'];

if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpeg") || strpos ($tipo_archivo, "png") ))) {

echo ("<p>La extensión <b>$tipo_archivo</b> no es correcta.</p>");
echo ("<p>Solo pueden subir archivos con extension .....");

}else{

if (!($tamano_archivo < 3145728)) {

echo ("<p>El tamaño del archivo debe ser inferior a <b>3Mb</b> (<b>3072Kb</b>).</p>");

}else{

if (move_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'], "./imagenes/$nombre_archivo")){


echo ("El archivo subio correctamente");

}else{

echo ("<p>Ocurrió algún error al subir el archivo. Intenta subirlo nuevamente</p>");

}
}
}

ME CUENTAS COMO TE FUE.
SALUDOS DESDE CHIMBOTE-PERU
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar