Foros del Web » Programando para Internet » PHP »

Problema al subir archivo con PHP

Estas en el tema de Problema al subir archivo con PHP en el foro de PHP en Foros del Web. Buenas noches, Tengo un formulario con un campo select. Dependiendo del valor escogido (deposito, transferencia o mercadopago) se muestra una determinada capa con otros campos ...
  #1 (permalink)  
Antiguo 01/11/2007, 21:58
Avatar de Daam  
Fecha de Ingreso: octubre-2007
Ubicación: Planeta Tierra
Mensajes: 152
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Problema al subir archivo con PHP

Buenas noches,

Tengo un formulario con un campo select. Dependiendo del valor escogido (deposito, transferencia o mercadopago) se muestra una determinada capa con otros campos de formulario, esto gracias a un script en Javascript. Cada capa tiene un INPUT de tipo FILE para subir archivos.

Con un script en PHP dependiendo del valor del select, le otorgo la variable copia a lo que corresponde.

Código PHP:

switch ($forma_de_pago)
    {
                
        case 
1// Deposito bancario

            
$copia $copia_deposito;
            
                break;
            
        case 
2// Transferencia bancaria

            
$copia $copia_transferencia;
            
                break;
                
        case 
3// Mercadopago

            
$copia $copia_mercadopago;
            
                break;    
        
        } 
Previamente obtengo los datos del formulario de $copia_deposito, $copia_transferencia y $copia_mercadopago por el método $HTTP_POST_VARS[' '].

No es un requisito subir archivos, es opcional.

El código que uso para subir el archivo según corresponda es:

Código PHP:

// Subida de la copia de pago
    
if ( $copia >=&& is_uploaded_file($HTTP_POST_FILES["$copia"]['temporal'])) {
    
copy($HTTP_POST_FILES["$copia"]['temporal'], "/xxxxxxx/public_html/pagos/copia/");
} else {
    echo 
"Error, no se subió el archivo";

Luego de selecciona un archivo y cliquear en el botón submit, la página se queda cargando como si estuviese leyendo el archivo a subir, pero luego de unos instantes, metira el error.

¿Qué podría estar pasando?

Espero su ayuda, saludos
  #2 (permalink)  
Antiguo 02/11/2007, 03:12
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Problema al subir archivo con PHP

cambia esto:
Código PHP:
copy($HTTP_POST_FILES["$copia"]['temporal'], /xxxxxxx/public_html/pagos/copia/"); 
por esto:

Código PHP:
copy($_FILES[$copia]['tmp_name'],'/xxxxxxx/public_html/pagos/copia/'); 
suerte!
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 02/11/2007, 14:24
Avatar de Daam  
Fecha de Ingreso: octubre-2007
Ubicación: Planeta Tierra
Mensajes: 152
Antigüedad: 16 años, 6 meses
Puntos: 0
Pregunta Re: Problema al subir archivo con PHP

El problema persiste...

El código que estoy usando para subir archivos es:

Código PHP:
if (is_uploaded_file($HTTP_POST_FILES['archivo']['temporal'])) {
    
copy($HTTP_POST_FILES['archivo']['temporal'], "pruebas\ ");
} else {
    echo 
"Error en la subida del archivo";

El error que me tira ahora es "Error en la subida del archivo", lo cual quiere decir que no se está copiando el archivo a la carpeta.

Pienso que el problema es de rutas... el archivo en donde tengo alojado el SCRIPT se encuentra en la carpeta principal, lo cual seria algo como "/w1090765/public_html/". Necesito configurar este SCRIPT, ¿alguien me ayuda por favor?

Saludos
  #4 (permalink)  
Antiguo 02/11/2007, 14:35
Avatar de Marvin
Colaborador
 
Fecha de Ingreso: febrero-2005
Ubicación: global $Chile->Santiago;
Mensajes: 1.991
Antigüedad: 19 años, 2 meses
Puntos: 81
Re: Problema al subir archivo con PHP

Porque no pruebas en vez de $HTTP_POST_FILES con $_FILES y lo haces asi:

Código PHP:
if (is_uploaded_file($_FILES['archivo']['tmp_name'])) { 
    
copy($_FILES['archivo']['tmp_name'], "pruebas\ "); 
} else { 
    echo 
"Error en la subida del archivo"

Suerte!
__________________
El que dice "Solo sé que nada sé", esta asumiendo que sabe algo.
Lea las FAQ's!
  #5 (permalink)  
Antiguo 02/11/2007, 15:52
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Problema al subir archivo con PHP

a ver es que eso de "temporal" no se de donde te lo inventas, es tmp_name. De todos modos puede ser que no tengas permisos para copiar en la carpeta, miralo.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #6 (permalink)  
Antiguo 02/11/2007, 16:25
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Problema al subir archivo con PHP

Justo estaba por abrir un post pero veo aca uno que está relacionado. Yo ya me hice el tema del envio de archivos, pero la cuestión es que lo uso para subir imágenes... El tema de subir los archivos está excelente, pero mi problema es mostrar la imagenen que he subido, hice lo siguiente:

subir.php
Código PHP:
echo"<table width=\"100%\" border=\"0\"><tr><td width=\"70%\"><b>Solo se admiten archivo con formato JPG. Tratar de que la imagen no sea demaciado grande.</b></td></tr></table>
<form action=\"subir.php\" method=\"post\" enctype=\"multipart/form-data\" name=\"form1\">
  <p align=\"center\">Archivo
   <input name=\"archivo\" type=\"file\" id=\"archivo\">
  </p>
  <p align=\"center\"><input name=\"boton\" type=\"submit\" id=\"boton\" value=\"Enviar\"></p>
</form>
<br><br>
<a href=\"../admin/user.php\">Volver</a><br><br><br>"
;
if(
$boton) {
   if (
is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
       if(
$HTTP_POST_FILES['archivo']['type']=="image/jpeg") {
           
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
           
$subio true;
   }
}

   if(
$subio) {
      echo 
'<table width="100%" border="0" cellspacing="5" cellpadding="0">
  <tr>
    <td><div align="center"><img src="' 
$archivo '"></div></td>
  </tr>
  <tr>
    <td><div align="center">' 
$archivo '</div></td>
  </tr>
</table>'
;
   } else {
      echo 
"El archivo no se pudo enviar. Recuerda que debe ser un archivo JPG y su tamaño no debe ser demaciado grande.";
   }
   die();

A la hora de subir un archivo lo sube, pero no me lo muestra... me salta esto en el lugar de saltar el nombre de la imagen: /tmp/phpjKSGEo

Espero ayuda. Gracias
  #7 (permalink)  
Antiguo 02/11/2007, 16:34
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Problema al subir archivo con PHP

cambia esto:
Código:
<img src="' . $archivo . '">
por esto:
Código:
<img src="'.$_FILES['archivo']['name'].'" />
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #8 (permalink)  
Antiguo 02/11/2007, 17:24
 
Fecha de Ingreso: diciembre-2006
Mensajes: 294
Antigüedad: 17 años, 4 meses
Puntos: 2
Re: Problema al subir archivo con PHP

Gracias!!!
  #9 (permalink)  
Antiguo 03/11/2007, 00:13
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Problema al subir archivo con PHP

Cita:
if (is_uploaded_file($HTTP_POST_FILES['archivo']['tmp_name'])) {
if($HTTP_POST_FILES['archivo']['type']=="image/jpeg") {
copy($HTTP_POST_FILES['archivo']['tmp_name'], $HTTP_POST_FILES['archivo']['name']);
<td><div align="center"><img src="' . $archivo . '"></div></td>
geskin:
Cuando subes un archivo ya puedes extraerle toda la informacion:
$_FILES['archivo']['name']
$_FILES['archivo']['type']
$_FILES['archivo']['size']

La variavle $archivo NO la definistes, esta provocara error.
ZiTal te ha dado la solucion.
Otra solucion es:
$archivo = $_FILES['archivo']['tmp_name']; (antes del copy).


Saludos
Y espero te ayude
Franco
  #10 (permalink)  
Antiguo 03/11/2007, 03:21
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Re: Problema al subir archivo con PHP

Código:
$archivo = $_FILES['archivo']['tmp_name']; (antes del copy).
el tmp_name no es el nombre del archivo real, DESPUES del copy:

Código:
$archivo = $_FILES['archivo']['name']; // (despues del copy).
;)
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #11 (permalink)  
Antiguo 03/11/2007, 10:36
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Re: Problema al subir archivo con PHP

ZiTal:
Sin animo de polemizaar, entendia que un copy se hace
a un directorio y no a $_FILES['archivo']['name'], y segundo
despues de un copy el archivo anterior NO se pierde!.
Asimismo, entiendo que $_FILES['archivo']['name'] es un nombre
y he probado haciendo un echo ".$_FILES['archivo']['name']."; y
me da el nombre solamente.
Saludos
Y espero no confundir a nadie.
Saludos
Franco
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 11:39.