Foros del Web » Programando para Internet » PHP »

Manejo de envío de archivos

Estas en el tema de Manejo de envío de archivos en el foro de PHP en Foros del Web. Código PHP: //archivo pruebas.php < form enctype = "multipart/form-data"  action = "prueba2.php"  method = "post" >             < input name = "MAX_FILE_SIZE"  value = "1000" > tu imagen :  < input name ...
  #1 (permalink)  
Antiguo 24/05/2005, 23:29
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 18 años, 10 meses
Puntos: 1
Manejo de envío de archivos

Código PHP:
//archivo pruebas.php
<form enctype="multipart/form-data" action="prueba2.php" method="post">
            <
input name="MAX_FILE_SIZE" value="1000">
tu imagen:  <input name="userfile" type="file">
            <
input type="submit" value="Enviar Archivo">
</
form
Código PHP:
//archivo pruebas2.php
<?php 
if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
   
copy($_FILES['userfile']['tmp_name'], "C:/AppServ/www/CuscoCool/imagenens");
} else {
   echo 
"Possible file upload attack. Filename: " $_FILES['userfile']['name'];
}
move_uploaded_file($_FILES['userfile']['tmp_name'], "C:/AppServ/www/CuscoCool/imagenens");
?>
me sale esto:
Warning: copy(C:/AppServ/www/CuscoCool/imagenens): failed to open stream: Permission denied in c:\appserv\www\cuscocool\prueba2.php on line 4

Warning: move_uploaded_file(C:/AppServ/www/CuscoCool/imagenens): failed to open stream: Permission denied in c:\appserv\www\cuscocool\prueba2.php on line 8

Warning: move_uploaded_file(): Unable to move 'C:\WINDOWS\TEMP\php18D.tmp' to 'C:/AppServ/www/CuscoCool/imagenens' in c:\appserv\www\cuscocool\prueba2.php on line 8

Estoy algo perturbado ya que eh leido de la página de http://www.php.net/manual/es/features.file-upload.php

y no dan un ejemplo como para novatos en archivos, y bueno si alguien puede ayudarme, con un ejemplo simple o a resolver el de arriba.
  #2 (permalink)  
Antiguo 25/05/2005, 01:05
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 3 meses
Puntos: 0
Yo veo dos cosas:

1.- Que primero mueves el archivo con copy y despues lo vuelves a mover con move_uploaded_file. Con hacer una de las dos acciones seria suficiente.

2.- Parece que no tienes permiso de escritura en la carpeta en la que quieres escribir, pero aparte de que soluciones esto te recomiendo que uses caminos relativos
  #3 (permalink)  
Antiguo 25/05/2005, 07:00
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 18 años, 10 meses
Puntos: 1
a que te refieres con caminos relativos?

gracias por las respuestas, pero a que te refieres con caminos relativos, y tal vez tu tengas un ejemplo mejor de como manejar archivos..podrías al menos darme el link de donde expliquen esto paso a paso?
  #4 (permalink)  
Antiguo 25/05/2005, 08:56
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 2 meses
Puntos: 129
mm El ejemplo que propone la documentación de PHP es el más básico, Eso sí .. antees de eso debes haberte leido que y como funciona dicha "funcionalidad" de PHP para "subir" archivos al servidor.

Por ejemplo, si vas a "copiar" archivos .. el directorio destino debe estar creado y tener permisos de escritura (dependiendo del S.O. tal vez no te interesa ni conocer eso, pero por ejemplo en LINUX si o si se ha de ajustar ese tema vía CHMOD .. )

Otro detalle .. ni copy() ni move_uploaded_file() copian un archivo al directorio que indiques y "asumen" el nombre del archivo que ha de quedar en destino .. eso lo debes hacer tu:

Por ejemplo:
Código PHP:
 move_uploaded_file($_FILES['userfile']['tmp_name'], "C:/AppServ/www/CuscoCool/imagenens/".$_FILES['userfile']['name']); 
En $_FILES['....']['name'] tienes el nombre original del archivo .. si quieres dejar el mismo nombre .. lo concatenas a la ruta de destiono y sino, lo cambias.

Un saludo,
  #5 (permalink)  
Antiguo 25/05/2005, 08:58
 
Fecha de Ingreso: diciembre-2003
Mensajes: 213
Antigüedad: 20 años, 3 meses
Puntos: 0
me refiero a que en vez de usar "c:/....../tu_fichero" pongas "./tu_fichero"

./ ------>directorio en el que se esta ejecutando el script

../ ---------->directorio padre

./otro_directorio/tu_fichero -------->Direrctorio hijo del directorio donde estas

etc
  #6 (permalink)  
Antiguo 25/05/2005, 14:16
Avatar de Jorgemen  
Fecha de Ingreso: mayo-2005
Ubicación: Perú
Mensajes: 322
Antigüedad: 18 años, 10 meses
Puntos: 1
Gracias, muchas gracias
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




La zona horaria es GMT -6. Ahora son las 04:55.