Foros del Web » Programando para Internet » PHP »

Error-> Subir archivos al servidor

Estas en el tema de Error-> Subir archivos al servidor en el foro de PHP en Foros del Web. Hola Estoy trabajando de forma local con IIS 5, XP y al querer hacer un upload con este código: http://www.maestrosdelweb.com/editor...culo.asp?upphp Me manda el siguiente error: ...
  #1 (permalink)  
Antiguo 21/11/2002, 02:25
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Error-> Subir archivos al servidor

Hola

Estoy trabajando de forma local con IIS 5, XP y al querer hacer un upload con este código:

http://www.maestrosdelweb.com/editor...culo.asp?upphp

Me manda el siguiente error:

Cita:
Notice: Array to string conversion in d:\inetpub\wwwroot\efisa\administracion\agregar_pr oducto.php on line 158

Warning: Unable to open 'Array' for reading: No such file or directory in d:\inetpub\wwwroot\efisa\administracion\agregar_pr oducto.php on line 158
Error al copiar el archivo
y la línea 158 es:

Código PHP:
                    if($HTTP_POST_FILES['archivo']['size'] < 20000
                    { 
                        if(!
copy($HTTP_POST_FILES['archivo'], "productos/".$HTTP_POST_FILES['archivo']['name'])) //línea 158
                        

                            echo 
"Error al copiar el archivo<br><br><br><br>"
                            echo 
"productos/".$HTTP_POST_FILES['archivo']['name']; 

A q se puede deber el error?

Gracias
  #2 (permalink)  
Antiguo 21/11/2002, 08:27
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
El "file" (campo de tu formulario) 'archivo' es multiple?... Es decir:

.... name=archivo[] ....?

Prueba:

$HTTP_POST_FILES['userfile']['name'][0];


y asegurate del formulario q sea:

Código PHP:
<form action="file-upload.php" method="post" enctype="multipart/form-data">
 
Send these files:<br>
 <
input name="archivo" type="file"><br>
 <
input type="submit" value="Send files">
</
form
Un saludo,
  #3 (permalink)  
Antiguo 21/11/2002, 11:30
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
No es multiple . Pruebo en la noche por q ahora estoy en el trabajo.

Saludos
  #4 (permalink)  
Antiguo 21/11/2002, 14:37
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

Creo que se lo que pasa. El primer parametro que pasas a copy() has puesto $HTTP_POST_FILES['archivo'], que es un array que contiene las distintas variables del fichero subido. Deberias haber puesto $HTTP_POST_FILES['archivo']['tmp_name'] que es el nombre del fichero temporal donde se ha almacenado el fichero subido.

Espero haber sido de ayuda.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #5 (permalink)  
Antiguo 21/11/2002, 22:29
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Cita:
$HTTP_POST_FILES['archivo']['tmp_name']
Diste en el clavo !!!

En cuanto lo cambie anduvo sin problemas. Muchisimas gracias. Por cierto ['tmp_name'] es una propiedad o que onda?

Donde puedo encontrar mas info sobre ese tipo de propiedades?

Bueno me pondre a buscar en el clásico php.net pero si lo tienen a la mano lo agradeceré

Saludos
  #6 (permalink)  
Antiguo 22/11/2002, 07:58
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Si, Urjose .. el [tmp_name] son propiedades del fichero q se está haciendo el Upload .. esa define el nombre, tambien tienes para obtener el formato MIME ([type]) .. tamaño del fichero .. y alguna más:

http://us.php.net/manual/en/features.file-upload.php

De paso ahí veras que mencionan el array $_FILES[][] .. si usas PHP 4.1.x o superiro empieza a migrar tus scripts al array superglobal para compatibilidad con futuras versiones de PHP.

Un saludo,
  #7 (permalink)  
Antiguo 22/11/2002, 09:39
Avatar de urjose  
Fecha de Ingreso: diciembre-2001
Mensajes: 5.286
Antigüedad: 16 años
Puntos: 1
Este también es un array superglobal?

$HTTP_POST_FILES[] o de plano debo cambiar a esto: $_FILES[][] ?

Saludos
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 13:47.