Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/02/2009, 18:20
Avatar de rafuru
rafuru
 
Fecha de Ingreso: febrero-2009
Mensajes: 33
Antigüedad: 15 años, 2 meses
Puntos: 2
Pregunta Como subir archivos mediante formulario?

Saludos!

Éste es mi primer tema y post en la comunidad, aunque he leido ya varios tutoriales sin registrarme :P.


La cuestion es la siguiente:

En mi PC ando practicando php, estoy aprendiendo por mi cuenta, pues no hayo libros y los cursos aqui son algo costosos.

El caso es que en mi PC monte servidor con XAMPP bajo Linux, y quiero mediante un formulario subir imagenes a una carpeta dentro del servidor, para que tambien la ruta del archivo se escriba dentro de una base de datos en MYSQL.

No es problema lo de MYSQL, entiendo que la funcion $_FILE guarda la informacion de los archivos cargados.

El caso es que me atoro al subir los archivos, en la parte de formulario tengo lo siguiente:

Código HTML:
<form enctype="multipart/form-data" action="procesar.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000">
Send this file: <input name="userfile" type="file">
<input type="submit" value="Send File">
</form> 
Y en procesar.php tengo esto:

Código PHP:
<?php
// In PHP 4.1.0 or later, $_FILES should be used instead of $HTTP_POST_FILES.
$text$_FILES['userfile'] ['name'];
$tipo$_FILES['userfile']['type'];
$tamano$_FILES['userfile']['size'];
$dir$_FILES['userfile']['tmp_name'];
echo 
$tipo."<br>";
echo 
$text."<br>";
echo 
$tamano."<br>";
echo 
$dir;
move_uploaded_file  ($dir '/opt/lampp/php/'  );
?>
Al ejecutar y enviar un archivo me desplega lo siguiente:

Código:
text/html
canal.html
239
/tmp/phpOdfnjE
Warning: move_uploaded_file(/opt/lampp/php/) [function.move-uploaded-file]: failed to open stream: Es un directorio in /opt/lampp/htdocs/php/procesar.php on line 11

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpOdfnjE' to '/opt/lampp/php/' in /opt/lampp/htdocs/php/procesar.php on line 11
Tomando en cuenta que lo que estoy subiendo es un archivo html.

Estoy conciente de que mi archivo procesar.php carece de muchas cosas como una sentencia if que me indique si se subio o no, que verifique el tamaño de archivo y todo lo demas. Pero lo que me urge en primera instancia es poder hacer la subida de archivos de forma correcta.

Gracias de antemano!