Foros del Web » Programando para Internet » PHP »

Como subir archivos mediante formulario?

Estas en el tema de Como subir archivos mediante formulario? en el foro de PHP en Foros del Web. 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: ...
  #1 (permalink)  
Antiguo 22/02/2009, 18:20
Avatar de 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!
  #2 (permalink)  
Antiguo 22/02/2009, 18:35
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 3 meses
Puntos: 36
Respuesta: Como subir archivos mediante formulario?

Te falta poner el nombre que va a tener el archivo:

move_uploaded_file ($dir , '/opt/lampp/php/archivo.html');

ó fijate si tenés los permisos en 777
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #3 (permalink)  
Antiguo 22/02/2009, 18:37
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Como subir archivos mediante formulario?

Edito: Mientras leia el mensaje hpg147 publicaba la respuesta correcta, sorry.
__________________
- León, Guanajuato
- GV-Foto
  #4 (permalink)  
Antiguo 22/02/2009, 18:46
Avatar de rafuru  
Fecha de Ingreso: febrero-2009
Mensajes: 33
Antigüedad: 15 años, 2 meses
Puntos: 2
Respuesta: Como subir archivos mediante formulario?

WOW!!

Gracias gracias gracias gracias gracias gracias gracias gracias gracias gracias !! llevaba 2 dias enteros buscando buscando buscando la solucion!! T-T!!

Aun no me cierren este hilo por favor, para no abrir uno nuevo en caso de que se me presente otro problema que no pueda resolver por mis medios x3.

Como dije, ando aprendiendo por mi cuenta y hay cosas que me cuesta trabajar como ésta jejeje.

Gracias de nuevo!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 22:09.