Foros del Web » Programando para Internet » PHP »

UPload FILE

Estas en el tema de UPload FILE en el foro de PHP en Foros del Web. Tengo un problema xD NOVEDAD :P, necesito subir un archivo, el problema viene a que no me anda ni en mi servidor, antes funcionaba, ni ...
  #1 (permalink)  
Antiguo 14/01/2010, 17:00
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
UPload FILE

Tengo un problema xD NOVEDAD :P, necesito subir un archivo,
el problema viene a que no me anda ni en mi servidor, antes funcionaba, ni idea por que ahora no, me crea la carpeta pero no puede subir el archivo.
Me imagino que el problema esta en PHP.INI si no ven problema en el codigo, la linea de configuracion de PHP.INI. ya que puse c:\upload\ sin punto y coma, sin comillas etc.
Código PHP:
Ver original
  1. ;;;;;;;;;;;;;;;;
  2. ; File Uploads ;
  3. ;;;;;;;;;;;;;;;;
  4.  
  5. ; Whether to allow HTTP file uploads.
  6. file_uploads = On
  7.  
  8. ; Temporary directory for HTTP uploaded files (will use system default if not
  9. ; specified).
  10. ;upload_tmp_dir = c:\upload\
  11. ; Maximum allowed size for uploaded files.
  12. upload_max_filesize = 200M


como veran en el codigo, creo una carpeta con la fecha y hora.
pero el resultado del php me tira el error de upload en este caso:

No ha podido transferirse el fichero
su tamaño no puede exceder de bytes

Código PHP:
Ver original
  1. <?
  2. $fecha = date("j-m-Y H_i_s");
  3. mkdir ("c:/upload/".$fecha);
  4. ?>
  5. <?
  6. $fichero="c:/upload/";
  7.     if ($archivo != "none" AND $archivo_size != 0 AND $archivo_size <=$lim_tamano){
  8.         if(move_uploaded_file ($archivo,"$fichero/$fecha/$archivo_name")){
  9.             $archivo= "$fichero/$fecha/datos.txt"; // el nombre de tu archivo
  10.             $desdehora= $_POST['cmHoraDesde']; // Recibez el formulario
  11.             $desdepmam= $_POST['cmMeridianoDesde']; // Recibez el formulario
  12.             $hastahora= $_POST['cmHoraHasta']; // Recibez el formulario
  13.             $hastapmam= $_POST['cmMeridianoHasta']; // Recibez el formulario
  14.             $fechaenvio= $_POST['tbFecha']; // Recibez el formulario
  15.             $nombre= $_POST['txtNombre']; // Recibez el formulario
  16.             $email= $_POST['txtMail']; // Recibez el formulario
  17.             $codigo= $_POST['txtCodigo']; // Recibez el formulario
  18.             $fch= fopen($archivo, "w+"); // Abres el archivo para escribir en él
  19.             fwrite($fch, "Enviar desde Hora: ".$desdehora.$desdepmam."\r\n"); // Grabas
  20.             fwrite($fch, "Hasta: ".$hastahora.$hastapmam."\r\n"); // Grabas
  21.             fwrite($fch, "Fecha: ".$fechaenvio."\r\n"); // Grabas
  22.             fwrite($fch, "Enviado por: ".$nombre."\r\n"); // Grabas
  23.             fwrite($fch, "Con E-mail: ".$email."\r\n"); // Grabas
  24.             fwrite($fch, "Codigo de berificacion: ".$codigo."\r\n"); // Grabas
  25.             fclose($fch); // Cierras el archivo.
  26.             echo "<h2>Se ha transferido el archivo $archivo_name</h2>";
  27.             echo "<br>Su tamaño es: $archivo_size bytes<br>";
  28.             echo "<br>El fichero es tipo $archivo_type<br>";
  29.         }
  30.     }
  31.         else{
  32.             echo "<H2>No ha podido transferirse el fichero</h2>";
  33.             echo "<h3>su tamaño no puede exceder de $lim_tamano bytes</h3>";
  34.         }
  35. echo "<a href='.$archivo_name.'>";
  36. ?>

Otra cosa que note es que me dice $lim_tamano a la hora de imprimir:
su tamaño no puede exceder de $lim_tamano bytes

Adjunto el script del form de lim_tamano:
Código HTML:
Ver original
  1. <input type="hidden" name="lim_tamano" value="500000" />


Antes de formatiar la pc, funcionaba ok.
y tengo que arreglaro en mi pc, antes de subir al hosting, si no no tiene gracia

gracias por el tiempo
  #2 (permalink)  
Antiguo 14/01/2010, 17:10
 
Fecha de Ingreso: enero-2010
Mensajes: 152
Antigüedad: 14 años, 3 meses
Puntos: 5
Respuesta: UPload FILE

Cita:
Iniciado por SirDuque Ver Mensaje
T
No ha podido transferirse el fichero
su tamaño no puede exceder de bytes....
.....
Código PHP:
Ver original
  1. #
  2.            echo "<H2>No ha podido transferirse el fichero</h2>";
  3. #
  4.            echo "<h3>su tamaño no puede exceder de $lim_tamano bytes</h3>";
no será que $lim_tamano tiene un valor nulo????
  #3 (permalink)  
Antiguo 14/01/2010, 17:20
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UPload FILE

Código PHP:
Ver original
  1. $archivo != "none" AND $archivo_size != 0 AND $archivo_size <=$lim_tamano
Código HTML:
Ver original
  1. input type="hidden" name="lim_tamano" value="500000"
Cita:
no será que $lim_tamano tiene un valor nulo????
no se supone que estoy probando con archivos. q como minimo tiene 1kb...

cuando dice su tamaño no puede exceder de $lim_tamano bytes
deveria decir: su tamaño no puede exceder de 500000 bytes.

//
listo solucionado el problema por que no decia $lim_tamano
agrege la variable
Código PHP:
Ver original
  1. $lim_tamano= $_POST[lim_tamano];

OJO antes no lo hice, sera la version de AppServer.
pero bueno ahora lebanta el lim_tamano, y sigue tirandome el error como que no cumple las condiciones:
Código PHP:
Ver original
  1. if ($archivo != "none" AND $archivo_size != 0 AND $archivo_size <=$lim_tamano){
Alguna idea?
  #4 (permalink)  
Antiguo 14/01/2010, 21:49
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: UPload FILE

Dos consejos:
1.- Usa <?php en lugar de <?
2.- Usa el arreglo $_FILES en lugar de las variables, es probable que tengas register_globals en Off y por eso no sirve.

Saludos.
  #5 (permalink)  
Antiguo 16/01/2010, 09:32
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UPload FILE

Cita:
Iniciado por GatorV Ver Mensaje
Dos consejos:
1.- Usa <?php en lugar de <?
2.- Usa el arreglo $_FILES en lugar de las variables, es probable que tengas register_globals en Off y por eso no sirve.

Saludos.
; You should do your best to write your scripts so that they do not require
; register_globals to be on; Using form variables as globals can easily lead
; to possible security problems, if the code is not very well thought of.
register_globals = On
  #6 (permalink)  
Antiguo 16/01/2010, 09:36
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: UPload FILE

Esta línea está comentada:
Código PHP:
Ver original
  1. ;upload_tmp_dir = c:\upload\
Deberías probar:

Código PHP:
Ver original
  1. upload_tmp_dir = c:\upload\
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #7 (permalink)  
Antiguo 19/01/2010, 08:28
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UPload FILE

Cita:
Iniciado por CHuLoSoY Ver Mensaje
Esta línea está comentada:
Código PHP:
Ver original
  1. ;upload_tmp_dir = c:\upload\
Deberías probar:

Código PHP:
Ver original
  1. upload_tmp_dir = c:\upload\
Nop nada.

Cree un nuevo php, mas resumido, solo para solucionar el problema del upload.


Con este subo el archivo.
Código HTML:
Ver original
  1. <html xmlns="http://www.w3.org/1999/xhtml">
  2. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  3. <title>Documento sin t&iacute;tulo</title>
  4. </head>
  5.  
  6.  
  7. <form enctype="multipart/form-data" action="guardar.php" method="post">
  8. <input type="hidden" name="lim_tamano" value="500000" /><br />
  9. <input type="file" name="archivo" /><br />
  10. <input type="submit" name="Enviar" value="Aceptar" />
  11. </form>
  12. </body>
  13. </html>

Con este guardo.

Código PHP:
Ver original
  1. <?php
  2.     if ($archivo != "none" AND $archivo_size != 0 AND $archivo_size<=$lim_tamano){
  3.         if(copy ($archivo,"c:/upload/".$archivo_name)){
  4.             echo "upload ok";
  5.             echo "Archivo pesa: $archivo_size bytes";
  6.             echo "Archivo tipo: $archivo_type";
  7.         }
  8.     }else{
  9.         echo "error en carga";
  10.         echo "excede de $lim_tamano bytes";
  11.     }
  12.     echo "<a href='.$archivo_name'>";
  13. ?>
la configuracion PHP
Código PHP.INI:
Ver original
  1. ;;;;;;;;;;;;;;;;
  2. ; File Uploads ;
  3. ;;;;;;;;;;;;;;;;
  4.  
  5. ; Whether to allow HTTP file uploads.
  6. file_uploads = on
  7.  
  8. ; Temporary directory for HTTP uploaded files (will use system default if not
  9. ; specified).
  10. upload_tmp_dir="c:/upload/"
  11. ; Maximum allowed size for uploaded files.
  12. upload_max_filesize=500M


Alguna idea, alguien tiene funcionando el upload en algun proyecto localhost.

Otra consulta, con respecto al guardar.php que tengo que poner en
copy ($archivo,"c:/upload/".$archivo_name) si quiero guardarlo en un hosting
lei en el hosting (pago) que puedo guardar en toda la raiz, pero provee // o / sola y ni bola.

Saludos
  #8 (permalink)  
Antiguo 19/01/2010, 10:44
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: UPload FILE

Como te comento, tienes que usar $_FILES no uses las variables directamente ya que es por eso que no sirve.

Saludos.
  #9 (permalink)  
Antiguo 19/01/2010, 11:00
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UPload FILE

Cita:
Iniciado por GatorV Ver Mensaje
Como te comento, tienes que usar $_FILES no uses las variables directamente ya que es por eso que no sirve.

Saludos.
GatorV por favor ejemplificame. quedaria algo como esto ?

if ($_files != "none" AND $_files_size != 0 AND $_files_size<=$lim_tamano){
  #10 (permalink)  
Antiguo 19/01/2010, 11:14
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: UPload FILE

En el Manual tienes toda la información: http://mx.php.net/manual/en/features.file-upload.php

Saludos.
  #11 (permalink)  
Antiguo 19/01/2010, 11:36
Avatar de SirDuque  
Fecha de Ingreso: febrero-2009
Ubicación: Paso del Rey, Buenos Aires, Argentina
Mensajes: 975
Antigüedad: 15 años, 2 meses
Puntos: 89
Respuesta: UPload FILE

Cita:
Iniciado por GatorV Ver Mensaje
En el Manual tienes toda la información: http://mx.php.net/manual/en/features.file-upload.php

Saludos.
Si GatorV estabas en lo correcto, pero dejame contarte que en la pc anterior, funcionaba correctamente, y este era un respaldo, la verdad no entiendo que pudo aver cambiando.

Saludos.

con $_file funciona.

Etiquetas: file, upload
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 01:03.