Conseguí en http://www.php.net/manual/en/features.file-upload.post-method.php un ejemplo que serviría para subir archivos a mi servidor, pero no consigo hacer que funcione... ¿Tendré que cambiar algo en la configuración de mi servidor? El ejemplo consta de dos partes: una con un formulario de envío y otra con el código en php:
Formulario:
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> <!-- The data encoding type, enctype, MUST be specified as below --> <form enctype="multipart/form-data" action="coso.php" method="POST"> <!-- MAX_FILE_SIZE must precede the file input field --> <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> <!-- Name of input element determines name in $_FILES array --> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form> </body> </html>
Código:
Código :
<?php // In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead // of $_FILES. $uploaddir = 'httpdocs/php/'; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo 'Here is some more debugging info:'; print_r($_FILES); print "</pre>"; ?>
Lo que me dice el código cuando lo corro es:
Possible file upload attack!
Here is some more debugging info:Array
(
[userfile] => Array
(
[name] => delta.JPG
[type] => image/jpeg
[tmp_name] => /tmp/phpAN5v3U
[error] => 0
[size] => 18440
)
)
Obviamente move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile) está devolviendo false, pero no tengo ni idea de por qué. Como les dije antes, no sé si el problema está en la configuración de mi servidor ¿Alguna sugerencia? ¡Gracias!