Foros del Web » Programando para Internet » PHP »

Carga de archivos

Estas en el tema de Carga de archivos en el foro de PHP en Foros del Web. Hola a todos. Pues he estado peleandome un buen rato con este proceso, he investigado un poco y no me deja hacer nada. Les explico ...
  #1 (permalink)  
Antiguo 12/06/2012, 12:32
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 0
Carga de archivos

Hola a todos.

Pues he estado peleandome un buen rato con este proceso, he investigado un poco y no me deja hacer nada.

Les explico el problema.

Tengo que cargar archivos tipo rar o zip al servidor, hasta el momento lo he logrado sin problema en archivos de un peso muy pequeño, pero los archivos que quiero cargar son mas graqndes (20M promedio)

He investigado un poco y veo que debo meterme a PHP.ini y editar unas variables las cuales he dejado de esta forma

upload_max_filesize 20M
post_max_size 20M
max_execution_time 300


Pero cuando subu archivos de mas de 3megas me sale error en la carga,

pongo el siguiente codigo y me muestra lo siguiente

$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];

y en type me imprime vacio y en size imprime cero, cuando pues si tienen un peso y un tipo de archivo.

aqui les dejo el codigo espero me puedan ayudar

gracias!!!
Código PHP:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<?php


if (isset($_REQUEST['enviar'])){   
   
//tomo el valor de un elemento de tipo texto del formulario
   
$cadenatexto $_POST["cadenatexto"];
   echo 
"Escribió en el campo de texto: " $cadenatexto "<br><br>";
   
   
//datos del arhivo
   
$nombre_archivo $_FILES['userfile']['name'];
   
$tipo_archivo   $_FILES['userfile']['type'];
   
$tamano_archivo $_FILES['userfile']['size'];
   echo 
'nombre'.$nombre_archivo .'<br>';
   echo 
'tipo'.$tipo_archivo   .'<br>';
   echo 
'tamaño'.$tamano_archivo .'<br>';
   
//compruebo si las características del archivo son las que deseo
   
       
if (move_uploaded_file($_FILES['userfile']['tmp_name'], "programas/$nombre_archivo")){
          echo 
"<br>El archivo ha sido cargado correctamente.";
       }else{
          echo 
"<br>Ocurrió algún error al subir el fichero. No pudo guardarse.";
       }
}
?>


<form action="carga1.php" method="post" enctype="multipart/form-data">
    <b>Campo de tipo texto:</b>
    <br>
    <input type="text" name="cadenatexto" size="20" maxlength="100">
    <input type="hidden" name="MAX_FILE_SIZE" value="100000">
    <br>
    <br>
    <b>Enviar un nuevo archivo: </b>
    <br>
    <input name="userfile" type="file">
    <br>
    <input type="submit" value="Enviar" name='enviar' id='enviar'>
</form>
  #2 (permalink)  
Antiguo 12/06/2012, 12:45
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Carga de archivos

reiniciaste apache?
el directorio tiene permisos de escritura?
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 12/06/2012, 12:53
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Carga de archivos

Cita:
Iniciado por maycolalvarez Ver Mensaje
reiniciaste apache?
el directorio tiene permisos de escritura?
Hola, gracias por tu pronta respuesta.

Y la respuesta a tus preguntas es si, ya reinicie el apache.

ya le puse permisos a la carpeta, y se que el problema no es de permisos por que si puedo subir archivos con un peso menor a un mega, pero con los de mayor no furula.

Espero me puedas ayudar dar ideas o algo.

Gracias
  #4 (permalink)  
Antiguo 12/06/2012, 14:54
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Carga de archivos

aplica error_reporting(E_ALL); porque no veo el problema, o revisa el log de php y postea el error completo
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #5 (permalink)  
Antiguo 12/06/2012, 16:35
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Carga de archivos

Cita:
Iniciado por maycolalvarez Ver Mensaje
aplica error_reporting(E_ALL); porque no veo el problema, o revisa el log de php y postea el error completo
Hola.

Pues no se cual es el LOG de PHP, Revise el siguiente log /var/log/apache2/error.log
Y cuando realizo la carga del archivo no sale ni un error, ya tambien agregue la line aque me comentaste [error_reporting(E_ALL)] y no me vota ni un error.

Si no es ese el log que debo revisar espero me puedas a yudar a configurarlo o a revisar el correcto.

Saludos
  #6 (permalink)  
Antiguo 12/06/2012, 17:09
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Carga de archivos

Calakra ... revise este cuasi-tutorial

http://blog.unijimpe.net/upload-de-archivos-2mb-php/

a mi me sirvió mucho en algún momento.
  #7 (permalink)  
Antiguo 12/06/2012, 17:20
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Carga de archivos

Hola.

Denuevo soy yo!!

Pues qui con una solucion, Es lo que me funciono hasta el momento

http://webdeveloperplus.com/jquery/m...-using-jquery/


Pero tengo un problema les comentare como es que estoy trabajando.

Lo que quiero es que se carguen archivos ejecutables guardados en .RAR, actualmente con lo que les mande ya me los gaurda.

Yo estoy en windos y el servidor es debian, asi que me ayudo con un programa que se llama SSH Secure File Transfer Client
para poder intercambiar archivos desde mi compu hasta el servidor.

Se que los archivos se cargan bien por que lo cargo desde la pgian que estoy haciendo, y usando el programa que les menciono abre el archivo sin problema, pero cuando lo descargo desde la aplicacion we no me abre bien el archivo, dice que el archivo rar esta dañado.

El codigo que tengo es el siguiente.
Código PHP:
Ver original
  1. if (!isset($_GET['file']) || empty($_GET['file'])) {
  2.  exit();
  3. }
  4. $root = "uploads/";
  5. $file = basename($_GET['file']);
  6. $path = $root.$file;
  7. $type = '';
  8.  
  9. if (is_file($path)) {
  10.  $size = filesize($path);
  11.  if (function_exists('mime_content_type')) {
  12.  $type = mime_content_type($path);
  13.  } else if (function_exists('finfo_file')) {
  14.  $info = finfo_open(FILEINFO_MIME);
  15.  $type = finfo_file($info, $path);
  16.  finfo_close($info);
  17.  }
  18.  if ($type == '') {
  19.  $type = "application/force-download";
  20.  }
  21.  // Definir headers
  22.  header("Content-Type: $type");
  23.  header("Content-Disposition: attachment; filename=$file");
  24.  header("Content-Transfer-Encoding: binary");
  25.  header("Content-Length: " . $size);
  26.  // Descargar archivo
  27.  readfile($path);
  28. } else {
  29.  die("El archivo no existe.");
  30. }

Espero me puedan ayudar, gracias!!
  #8 (permalink)  
Antiguo 13/06/2012, 18:36
Avatar de fjrueda  
Fecha de Ingreso: marzo-2008
Ubicación: Bucaramanga
Mensajes: 313
Antigüedad: 16 años, 1 mes
Puntos: 35
Respuesta: Carga de archivos

hummm,

Calakra ..... suena muy estraño, pregunta ?? esta seguro que esta leyendo del path adecuado al momento de cargarlos ?? .....

ahora, quite las etiquetas Header, para pobra y nos cuenta.
  #9 (permalink)  
Antiguo 03/08/2012, 11:07
Avatar de calakra  
Fecha de Ingreso: septiembre-2009
Mensajes: 182
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Carga de archivos

Cita:
Iniciado por fjrueda Ver Mensaje
hummm,

Calakra ..... suena muy estraño, pregunta ?? esta seguro que esta leyendo del path adecuado al momento de cargarlos ?? .....

ahora, quite las etiquetas Header, para pobra y nos cuenta.
Diculpa la tardanza en contestar, como se que se esta leyendo el path correcto y a dodne debe ir dirigido o que? esque me pedi en esa parte y no quise abrir otro tema
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 06:04.