Foros del Web » Programando para Internet » PHP »

Problema con upload de archivos

Estas en el tema de Problema con upload de archivos en el foro de PHP en Foros del Web. veran tengo un uploader que trabaja asi: Código PHP: if (@ copy ( $_FILES [ 'userfile' ][ 'tmp_name' ],  "../$ruta_usuario2$aleatorio$nombre_archivo" )){        echo  "<div align='right'><img src='../Images/true.png' alt='Archivo cargado satisfactoriamente'></div>" ;        include  "../Includes/extensiones.php" ...
  #1 (permalink)  
Antiguo 05/02/2010, 00:00
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Problema con upload de archivos

veran tengo un uploader que trabaja asi:

Código PHP:
if (@copy($_FILES['userfile']['tmp_name'], "../$ruta_usuario2$aleatorio$nombre_archivo")){
       echo 
"<div align='right'><img src='../Images/true.png' alt='Archivo cargado satisfactoriamente'></div>";
       include 
"../Includes/extensiones.php";
       echo 
"<center><img src=../".$imgext." alt=archivo></center>";
       echo 
"<center><b>Hola " $_SESSION['usuario'] . " tu archivo a sido subido correctamente :)</b></center><br><br>";
       echo 
"<center><h3><div style='color:#bcea64;'>Link Directo:</div></h3></center>";      
       echo 
"<center><h4>http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo</h4></center><br>";
       echo 
"<hr>";
       echo 
"<center><h3><div style='color:#f1283f;'>BBCODE:</div></h3></center>";      
       echo 
"<center><h4>[url=http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo]Nombre para enlace[/url]</h4></center><br>";
       echo 
"<hr>";
       echo 
"<center><h3><div style='color:#7fbbcc;;'>HTML:</div></h3></center>";      
       echo 
"<center><h4><a href="http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo">Nombre para Enlace</a></h4></center><br>";
       
       
$registro "INSERT INTO tal (ruta,ususaurio,valuor) VALUES ('Usuarios/$nick/archivos/$aleatorio$nombre_archivo','$_SESSION[usuario]','100')";}else{
       echo 
"La extensi?n o el tama?o de los archivos no es correcto";
       exit;} 
la cosa es que para archivos pequeños funciona, pero quiero poner el limite de un archivo en 2gb, entonces cuando intento subir u narchivo muy grande, tarda mucho y me lanza error

intente subir un archivo de 270mb mas o menos y me dio el error, el error lo produzco yo, es el de

"La extensi?n o el tama?o de los archivos no es correcto"

¿a que se puede deber?
  #2 (permalink)  
Antiguo 05/02/2010, 01:17
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 3 meses
Puntos: 2237
Respuesta: Problema con upload de archivos

Cita:
Iniciado por 50l3r
"La extensi?n o el tama?o de los archivos no es correcto"
La extension del archivo esta permitida?
- Si = El problema es con el tamaño del archivo
- No = Intenta cambiando la extension a una permitida y aun puede que el tamaño del archivo no sea el adecuado

Iba a preguntar lo mismo, basado en el peso del archivo, pero es demasiado obvio.

Para subir archivos grandes debes modificar php.ini con los valores deseados:
Cita:
; Maximum allowed size for uploaded files.
upload_max_filesize = 100M

; Maximum size of POST data that PHP will accept.
post_max_size = 100M
Tal vez tambien debas aumentar el tiempo de ejecucion y/o procesamiento de datos: http://www.php.net/manual/en/info.co...execution-time

Por otra parte, creo que no estas validando el archivo subido, a menos que de eso se encargue ../Includes/extensiones.php, eliminando el archivo copiado y enviando el mensaje correspondiente.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 06/02/2010, 03:53
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

validarlo lo valido maa atras del archivo, paso con un array todas las instrucciones permitidas, hago un for comprobando que la extension del archivo coincide con algunas de las nombradas y si es asi, se sube


; Maximum allowed size for uploaded files.
upload_max_filesize = 2000M

; Maximum size of POST data that PHP will accept.
post_max_size = 2000M

he puesto esos valores asi, pero necesito saber cuanto tiempo tarda mas o menos, asi que me tendre que hacer con una barra de progreso, me podriais ayudar?
  #4 (permalink)  
Antiguo 06/02/2010, 04:18
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Respuesta: Problema con upload de archivos

loading.............


Te aconsejo usar SWFupload http://demo.swfupload.org/v220/index.htm

es el mejor que conozco para progress bar ehcho en flash y muy simple de integrar.



connection closed.
__________________

Maborak Technologies
  #5 (permalink)  
Antiguo 06/02/2010, 04:28
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

miren mi code de upload:

Código PHP:
<?php 

include "sessionout.php";
include 
"../Includes/loadimg.php";

//incluyendo home new, para evitar creacion de otro archivo//
include  "conexionesdb/conblog.php";

$nuevos "SELECT * from x WHERE x = '".$_SESSION[x]."' and x!='si' and x!='".$_SESSION[x]."'"
            
$nuevos mysql_query($nuevos);
            
$nuevos mysql_num_rows($nuevos);
mysql_close();

if(
$nuevos!="0"){

echo 
"<div style='position:fixed;right:0;bottom:0'>";
echo 
"<a href='../home.php?nick=".$_SESSION[x]."'><img border=0 src=../images/comnuev.png></a>";
echo 
"</div>";

}

//incluyendo image new, para evitar creacion de otro archivo//

if ($nuevos==""){

include 
"conexionesdb/conblog.php";

$nuevosimg "SELECT x from x WHERE x = '".$_SESSION[x]."' and x != 'si' and x != '".$_SESSION[x]."'";
            
$nuevosimg mysql_query($nuevosimg);
            
$nuevosimg mysql_fetch_array($nuevosimg);
mysql_close();
if(
$nuevosimg[0]!=""){

echo 
"<div style='position:fixed;right:0;bottom:0'>";
echo 
"<a href='imagenid.php?imagen=".$nuevosimg[0]."&nick=".$_SESSION[x]."'><img border=0 src=../images/comimgnuev.png></a>";
echo 
"</div>";

}}
 
echo 
"<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>";
echo 
"<html xmlns='http://www.w3.org/1999/xhtml'>";

$nick $_SESSION["x"];

include 
"conexionesdb/conimg.php";

$fondo "SELECT x from x where x ='$_SESSION[x]'";
$fondo mysql_query($fondo);
$fondo mysql_fetch_array($fondo);
if (
$fondo[0] == ''){$fondo[0] = 'Images/fondodef.gif';}
 include 
'../Includes/pupload.php'
 
?>

<html>
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Subiendo Imagen</title>
<link href="../CSS/styles.css" rel="stylesheet" type="text/css" />
<LINK REL="SHORTCUT ICON" HREF="../Images/blackico.ico">
<script type="text/javascript" src="../JS/aparecer.js"></script>
<script>

var obje = document.getElementById("imagenesverfondo");

obje.style.display = "none";
</script>
</head>

<body background="../<?php echo $fondo[0?>">
<div id='CONTAINER'>

<?php include '../Includes/bar.php'?>
<center>
<div style="line-height:15px"><br><br></div>

<div id=titulo style="width:80%;" align=center><br><br><font size=1 color=black><b>Subida de Archivos</b></font></div>
<div id=campos style="width:80%;line-height:15px"><br><br><font size=1 color=black><b></b>

<?php
//definiendo variables

$nombre_archivo $_FILES['userfile']['name'];

$tamano_archivo $_FILES['userfile']['size'];
$ruta_usuario "Usuarios/" .$_SESSION["x"]. "/";
$ruta_usuario2 "Usuarios/" .$_SESSION["x"]. "/archivos/";
$aleatoriorand(0,500000);
$permitidos = array('jpg','jpeg','png','gif','bmp','svg','ico','rar','zip','doc','docx','avi','mp3','mpg','swf','torrent','txt','pdf','ttf','iso','xls','xlsx','ppt','pptx','mp4','psd','mpeg','wma','wmv','tif','tiff','7z','tgz','css','html','js','php','asp','aspx','reg','bat','exe');

if (
$nombre_archivo==""){
echo 
"<center><div style='color:#ec2929;'>Ups?? ha ocurrido un error :/ puede deberse a:</div><br></center>";
echo 
"No has especificado la imagen a enviar";
exit;}else{

if (
eregi('.',$nombre_archivo)) {
$extension explode('.'$nombre_archivo);
$extension $extension[count($extension) -1];

foreach(
$permitidos as $permitido){
    if (
strtolower($permitido) == strtolower($extension)&& tamano_archivo 2000000000){
       
$nombre_archivo "." .$extension;
    
        if (
$nombre_archivo == '.zip' || $nombre_archivo == '.rar' || $nombre_archivo == '.doc' || $nombre_archivo == '.docx' || $nombre_archivo == '.avi' || $nombre_archivo == '.mp3' || $nombre_archivo == '.mpg' || $nombre_archivo == '.swf' || $nombre_archivo == '.torrent' || $nombre_archivo == '.txt' || $nombre_archivo == '.pdf' || $nombre_archivo == '.ttf' || $nombre_archivo == '.iso' || $nombre_archivo == '.xls' || $nombre_archivo == '.xlsx' || $nombre_archivo == '.ppt' || $nombre_archivo == '.pptx' || $nombre_archivo == '.mp4' || $nombre_archivo == '.psd' || $nombre_archivo == '.mpeg' || $nombre_archivo == '.wma' || $nombre_archivo == '.wmv' || $nombre_archivo == '.tif' || $nombre_archivo == '.tiff' || $nombre_archivo == '.7z' || $nombre_archivo == '.tgz' || $nombre_archivo == '.css' || $nombre_archivo == '.html' || $nombre_archivo == '.js' || $nombre_archivo == '.php' || $nombre_archivo == '.asp' || $nombre_archivo == '.aspx' || $nombre_archivo == '.reg' || $nombre_archivo == '.bat' || $nombre_archivo == '.exe'){
         if (@
copy($_FILES['userfile']['tmp_name'], "../$ruta_usuario2$aleatorio$nombre_archivo")){
       echo 
"<div align='right'><img src='../Images/true.png' alt='Archivo cargado satisfactoriamente'></div>";
       include 
"../Includes/extensiones.php";
       echo 
"<center><img src=../".$imgext." alt=archivo></center>";
       echo 
"<center><b>Hola " $_SESSION['x'] . " tu archivo a sido subido correctamente :)</b></center><br><br>";
       echo 
"<center><h3><div style='color:#bcea64;'>Link Directo:</div></h3></center>";      
       echo 
"<center><h4>http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo</h4></center><br>";
       echo 
"<hr>";
       echo 
"<center><h3><div style='color:#f1283f;'>BBCODE:</div></h3></center>";      
       echo 
"<center><h4>[url=http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#93Nombre para enlace&#91&#47url&#93</h4></center><br>";
       echo 
"<hr>";
       echo 
"<center><h3><div style='color:#7fbbcc;;'>HTML:</div></h3></center>";      
       echo 
"<center><h4>&#60a href=&#34http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#34&#62Nombre para Enlace&#60&#47a></h4></center><br>";
       
       
$registro "INSERT INTO x (x,x,x) VALUES ('Usuarios/$nick/archivos/$aleatorio$nombre_archivo','$_SESSION[x]','100')";
        
mysql_query($registro);
        
mysql_close();
        
        include 
"conexionesdb/conus.php";
        
$monedero mysql_query("SELECT x from x where x = '$nick'");
        
$monedero mysql_fetch_array($monedero);
        
        
$monedero $monedero[0] + 100;
        
        
$agregarmoni "UPDATE x set x='$monedero' where x = '$nick'";
        
mysql_query($agregarmoni);
        
mysql_close();
       exit;
            }else{
       echo 
"La extensi?n o el tama?o de los archivos no es correcto";
       exit;}
        }else{
    
       if (@
copy($_FILES['userfile']['tmp_name'], "../$ruta_usuario$aleatorio$nombre_archivo")){
       echo 
"<div align='right'><img src='../Images/true.png' alt='Imagen cargada satisfactoriamente'></div>";
       echo 
"<center><b>Hola " $_SESSION['x'] . " tu imagen a sido subida correctamente :)</b></center><br><br>";
       echo 
"<center><img src='../$ruta_usuario$aleatorio$nombre_archivo' alt='tu imagen' onload='if(this.width > 800) {this.width=800}'></center>";
       echo 
"<center><div style='color:#f1d27d;'><i>" .$aleatorio.$nombre_archivo"</i></div><br></center>";
       echo 
"<hr>";
       echo 
"<center><h3><div style='color:#bcea64;'>Link Directo:</div></h3></center>";      
       echo 
"<center><h4>http://www.pixelizados.com/$ruta_usuario$aleatorio$nombre_archivo</h4></center><br>";
       echo 
"<hr>";
       echo 
"<center><h3><div style='color:#f1283f;'>BBCODE:</div></h3></center>";      
       echo 
"<center><h4>[img]http://www.pixelizados.com/$ruta_usuario$aleatorio$nombre_archivo&#91&#47img&#93</h4></center><br>";
       echo 
"<hr>";
       echo 
"<center><h3><div style='color:#7fbbcc;;'>HTML:</div></h3></center>";      
       echo 
"<center><h4>&#60img src=&#34http://www.pixelizados.com/$ruta_usuario$aleatorio$nombre_archivo&#34&#62</h4></center><br>";
       
       
$registro "INSERT INTO x (x,x,x) VALUES ('Usuarios/$nick/$aleatorio$nombre_archivo','$_SESSION[x]','100')";
        
mysql_query($registro);
        
mysql_close();
        
        include 
"conexionesdb/conus.php";
        
$monedero mysql_query("SELECT monedero from usuarios where username = '$nick'");
        
$monedero mysql_fetch_array($monedero);
        
        
$monedero $monedero[0] + 100;
        
        
$agregarmoni "UPDATE x set x='$monedero' where x = '$nick'";
        
mysql_query($agregarmoni);
        
mysql_close();
       exit;
            }else{
       echo 
"La extensi?n o el tama?o de los archivos no es correcta";
       exit;}}
        
}
}
}
}

echo 
"<meta http-equiv='refresh' content='0; url=../Includes/Codigos/uploadno.php '/>";

?> 



    
<br><br><br>
</div>
</div>
</center>
</body>
</html>
todo eso es el codigo de mi upload, lo paso con la funcion copy de php

es recomendable? ya que los parametros de max file siz y post size los tengo asi:

Código:
; Maximum allowed size for uploaded files.
upload_max_filesize = 2000M

; Maximum size of POST data that PHP will accept.
post_max_size = 2000M
y aun asi me arroja el error:

"La extensi?n o el tama?o de los archivos no es correcto"


como que ha pasado la validacion de la extension, pero no se pudo copiar por algo ajeno al codigo al parecer
  #6 (permalink)  
Antiguo 06/02/2010, 04:43
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Respuesta: Problema con upload de archivos

loading............


DEPURA amigo DEPURA

por ejemplo, puedes poner print_r($nombre_archivo); para saber que nombre está tomando.


puedes hacer var_dump(copy($_FILES['userfile']['tmp_name'], "../$ruta_usuario$aleatorio$nombre_archivo"));

para saber el error que está soltando tu script. y claro un print_r($_FILES); para saber los datos que estas recibiendo.


saludos.


connection closed.
__________________

Maborak Technologies
  #7 (permalink)  
Antiguo 06/02/2010, 04:53
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

los archivos chiquitens pasan, mira



en cambio los grandes no

  #8 (permalink)  
Antiguo 06/02/2010, 05:05
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 6 meses
Puntos: 35
Respuesta: Problema con upload de archivos

loading...........


- Cambia el nombre de tu archivo grande al mismo nombre de tu archivo pequeño que se subió con exito (si esto no funciona es el max_upload_size y el max_post_size)
- verifica que realmente tengas cambiado max_upload_size con phpinfo();
- talvez necesites incrementar el max_execution_time o max_memory (o algo asi)
- tu formulario <form> tiene el atributo enctype="multipart/form-data" ?

connection closed.
__________________

Maborak Technologies
  #9 (permalink)  
Antiguo 06/02/2010, 09:19
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

el nombre no es, le puse corto y nada

el formulario tiene enctype="multipart/form-data"

he intentado ponerle otra extension valida pero tampoco

----------------------
upload_max_filesize 2000M 2000M
post_max_size 2000M 2000M
max_execution_time 3000000000 3000000000
max_input_time 60000000000000 60000000000000
memory_limit 2000M 2000M

aun asi sigue dando error nose porque

Última edición por 50l3r; 06/02/2010 a las 09:28
  #10 (permalink)  
Antiguo 07/02/2010, 11:51
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Problema con upload de archivos

detalles de tu codigo.

1. en tu codigo de upload, veo que hay varios if y no estan ordenados. como dijo MaBoRaK, debes depurar tu codigo y buscar cual esta fallando.

2. debes ordenar tu codigo porque asi nadie lo va entender.

3. tu le colocas la funcion copy. en realidad se trabaja mejor con la funcion move_uploaded_file(). no se cual sera la diferencia de esas 2 funciones.

4. si deseas que tu aplicacion este resuelta, mejor empienza a desarrollar tu codigo para subir archivos desde cero. si te diste cuenta hay una seccion de aportes de scripts desarrollados como el de subir una imagen.

APORTE: Subir imagen con php

porque si vas a depurar tu codigo, revisando nuevamente cual es el error y de nuevo consultar que alguen te oriente, te demorarias mucho.

el aporte que te deje, te servira mucho, ya que se ha discutido mucho sobre ese tema.

P.D: lo que mencione antes sobre que desarrolles tu codigo para subir archivos desde cero, no lo dije de mala intencion. con el enlace del aporte que te deje, te servira de gran ayuda para que puedas desarrollar tu codigo y lo puedas entender.

cualquier consulta, con gusto te ayudare.

saludos.
  #11 (permalink)  
Antiguo 07/02/2010, 15:20
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

he probado con la funcion move uploaded file, puse todos los parametros correctamente y nada

los archivos pequeños los sube, las imagenes hasta 2mb tambien

la unica pega, es que en los archivos grandes, se peta y no sube, da error


la primera vez tarda en darte el error unos 30 segundos, despues si lo quieres volver a subir te lo lanza en 5 segundos

que puede seR=?
  #12 (permalink)  
Antiguo 07/02/2010, 16:44
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Problema con upload de archivos

has validado el peso para los archivos ?. si no hiciste eso, puede ser que no suba archivos de mayor peso.

Código PHP:
Ver original
  1. $nombre_archivo       = $_FILES['archivo']['name'];
  2. $tamano = $_FILES['archivo']['size']; // Leemos el tamaño del fichero
  3. $tamano_max = "1048576"; // Tamaño maximo permitido
  4.  
  5. if($tamano <= $tamano_max){ // Comprovamos el tamaño                          
  6.     move_uploaded_file($_FILES['archivo']['tmp_name'],$path.$nombre_archivo);
  7.     //consulta insertar
  8. }else{
  9.     echo "<div align = 'center'>La imagen que intenta grabar, excede el peso requerido. El maximo de peso es 500KB.</div>";
  10.     echo "<br /><br /><br />";
  11.     echo "<div align = 'center'><a href='javascript:history.back()'>&lt;&lt; Clic aqui para regresar.</div></a>";
  12.  
  13. }

el codigo que te di, lo adaptas a tu aplicacion.

eso seria la primera alternativa. la segunda seria que debes configurar el php.ini en tu hosting. pero como no se puede hay varias alternativas:

1. colocar funciones php que te permita subir archivos de mayor peso.

2. colocar un .htaccess para que te permita subir archivos (dependiendo del tamaño).

aqui el codigo:

Código Apache:
Ver original
  1. #configurar desde el .htaacess para subir imagenes o videos de mayor peso.
  2.  
  3. php_value upload_max_filesize 100M
  4.  
  5. php_value post_max_size 100M
  6.  
  7. php_value max_execution_time 1000
  8.  
  9. php_value max_input_time 1000

P.D: como puedes saber el peso en bytes, kilobytes, megas y gigas, aqui el enlace:

Convertidor bytes

saludos.
  #13 (permalink)  
Antiguo 07/02/2010, 16:48
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

el codigo que falla es el siguiente:

[PHP]if (@move_uploaded_file($_FILES['userfile']['tmp_name'], "../$ruta_usuario2$aleatorio$nombre_archivo")){
echo "<div align='right'><img src='../Images/true.png' alt='Archivo cargado satisfactoriamente'></div>";
include "../Includes/extensiones.php";
echo "<center><img src=../".$imgext." alt=archivo></center>";
echo "<center><b>Hola " . $_SESSION['blackusuario'] . " tu archivo a sido subido correctamente :)</b></center><br><br>";
echo "<center><h3><div style='color:#bcea64;'>Link Directo:</div></h3></center>";
echo "<center><h4>http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo</h4></center><br>";
echo "<hr>";
echo "<center><h3><div style='color:#f1283f;'>BBCODE:</div></h3></center>";
echo "<center><h4>[url=http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#93Nombre para enlace&#91&#47url&#93</h4></center><br>";
echo "<hr>";
echo "<center><h3><div style='color:#7fbbcc;;'>HTML:</div></h3></center>";
echo "<center><h4>&#60a href=&#34http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#34&#62Nombre para Enlace&#60&#47a></h4></center><br>";
exit;
}else{
echo "La extensi?n o el tama?o de los archivos no es correcto";
exit;}[/PHP]

antes que ese codigo, paso un condicional para verificar la extension y el tamaño, el error que me da es:

La extensi?n o el tama?o de los archivos no es correcto

eso significa que la validacion del tamaño y la extension la pasa, pero no hace la funcion de copiado

intento con el htaccess y te cuento
  #14 (permalink)  
Antiguo 07/02/2010, 16:50
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

probe con el htaccess y tampoco

porque sera?

el server esta en mi equipo, no tengo limitaciones por parte del hosting, ya que soy yo
  #15 (permalink)  
Antiguo 07/02/2010, 17:24
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Problema con upload de archivos

que extraño. no es necesario que le coloques el arroba en el move_uploaded_file(). ya que si le colocas el arroba, no puedes saber cual es el error.

Código PHP:
Ver original
  1. if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
  2.     if (move_uploaded_file($_FILES['userfile']['tmp_name'], "../$ruta_usuario2$aleatorio$nombre_archivo")){
  3.         move_uploaded_file($_FILES['userfile']['tmp_name'], "../$ruta_usuario2$aleatorio$nombre_archivo");
  4.         echo "<div align='right'><img src='../Images/true.png' alt='Archivo cargado satisfactoriamente'></div>";
  5.         include "../Includes/extensiones.php";
  6.         echo "<center><img src=../".$imgext." alt=archivo></center>";
  7.         echo "<center><b>Hola " . $_SESSION['blackusuario'] . " tu archivo a sido subido correctamente :)</b></center><br><br>";
  8.         echo "<center><h3><div style='color:#bcea64;'>Link Directo:</div></h3></center>";
  9.         echo "<center><h4>http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo</h4></center><br>";
  10.         echo "<hr>";
  11.         echo "<center><h3><div style='color:#f1283f;'>BBCODE:</div></h3></center>";
  12.         echo "<center><h4>[url=http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#93Nombre para enlace&#91&#47url&#93</h4></center><br>";
  13.         echo "<hr>";
  14.         echo "<center><h3><div style='color:#7fbbcc;;'>HTML:</div></h3></center>";
  15.         echo "<center><h4>&#60a href=&#34http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#34&#62Nombre para Enlace&#60&#47a></h4></center><br>";
  16.     }else{
  17.         echo "La extensi?n o el tama?o de los archivos no es correcto";
  18.     }
  19.    
  20. }else{
  21.    echo "Posible ataque de carga de archivo: ";
  22.    echo "nombre de archivo '". $_FILES['userfile']['tmp_name'] . "'.";
  23.    
  24. }

pregunta. veo que estas utilizando una variable $aleatorio. supongo que sera al momento de subir imagenes, reemplaza el nombre de la imagen original por un aleatorio. pero no seria lo correcto colocarlo de esta forma:

Código PHP:
Ver original
  1. move_uploaded_file($_FILES['userfile']['tmp_name'], "../$ruta_usuario2$aleatorio$extension");

es decir, la carpeta, la variable aleatoria concatenandola con una variable extension.

otra pregunta. esta definido bien el nombre del campo del archivo ?

prueba asi y me cuentas si se resolvio tu aplicacion.

saludos.
  #16 (permalink)  
Antiguo 07/02/2010, 17:46
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

me salta esto:


Posible ataque de carga de archivo: nombre de archivo ''.

osease, que no se sube correctamente al directorio temporal

la cosa es que en el php.ini el directorio temporal lo tengo vacio:

;upload_tmp_dir =

pero para los archivos pequeños no me hace falta
  #17 (permalink)  
Antiguo 07/02/2010, 18:47
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Problema con upload de archivos

leiste lo que te escribi.

pregunta. veo que estas utilizando una variable $aleatorio. supongo que sera al momento de subir imagenes, reemplaza el nombre de la imagen original por un aleatorio. pero no seria lo correcto colocarlo de esta forma:

Código PHP:
Ver original
  1. move_uploaded_file($_FILES['userfile']['tmp_name'], "../$ruta_usuario2$aleatorio$extension");

el mensaje que te salio sobre un posible ataque de carga de archivo es porque no estas enviando el nombre del input file.

pregunta. estas enviando el nombre del input file para que suba el archivo ?. si es asi, es porque te muestra ese mensaje de error.

quita la variable extension y solo muestra la ruta del archivo y el nombre.

Código PHP:
Ver original
  1. $ruta_usuario2 = "../archivos/";
  2. $nombre_archivo = $_FILES['userfile']['name'];
  3. if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
  4.     if (move_uploaded_file($_FILES['userfile']['tmp_name'], "$ruta_usuario2$nombre_archivo")){
  5.         move_uploaded_file($_FILES['userfile']['tmp_name'], "$ruta_usuario2$nombre_archivo");
  6.         echo "<div align='right'><img src='../Images/true.png' alt='Archivo cargado satisfactoriamente'></div>";
  7.         echo "<center><img src=../".$imgext." alt=archivo></center>";
  8.         echo "<center><b>Hola " . $_SESSION['blackusuario'] . " tu archivo a sido subido correctamente :)</b></center><br><br>";
  9.         echo "<center><h3><div style='color:#bcea64;'>Link Directo:</div></h3></center>";
  10.         echo "<center><h4>http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo</h4></center><br>";
  11.         echo "<hr>";
  12.         echo "<center><h3><div style='color:#f1283f;'>BBCODE:</div></h3></center>";
  13.         echo "<center><h4>[url=http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#93Nombre para enlace&#91&#47url&#93</h4></center><br>";
  14.         echo "<hr>";
  15.         echo "<center><h3><div style='color:#7fbbcc;;'>HTML:</div></h3></center>";
  16.         echo "<center><h4>&#60a href=&#34http://www.pixelizados.com/$ruta_usuario2$aleatorio$nombre_archivo&#34&#62Nombre para Enlace&#60&#47a></h4></center><br>";
  17.     }else{
  18.         echo "La extension o el tamanio de los archivos no es correcto";
  19.     }
  20.    
  21. }else{
  22.    echo "Posible ataque de carga de archivo: ";
  23.    echo "nombre de archivo '". $_FILES['userfile']['tmp_name'] . "'.";
  24.    
  25. }

una ultima pregunta. en el formulario, le pusiste la propiedad enctype="multipart/form-data" ?. si no le pusiste, probablemente no subira tu archivo.

saludos.
  #18 (permalink)  
Antiguo 08/02/2010, 08:22
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

el probloema estaba aqui:

Código HTML:
Ver original
  1. <form action="../Funciones/upload.php" method="post" enctype="multipart/form-data">
  2.     <input type="hidden" name="MAX_FILE_SIZE" value="[U]20000000[/U]">
  3.     <br>
  4.     <b>Enviar una Imagen o Archivo desde tu Ordenador</b></center>
  5.     <blockquote>
  6.     <center><INPUT TYPE="image" SRC="../Images/upimgurl.png" title="Enviar" BORder="0" ALT="Submit" align=absbottom><input name="userfile" type="file" class="boton" size="40">
  7.     </center></form>

en el maxsize, solo permitia archivos de 2mb maximo, de ahi el error
  #19 (permalink)  
Antiguo 08/02/2010, 08:22
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

eso si, como configura el tiempo de ejecucion y memoria, si lo quiero tener a 2 gb de upload?
  #20 (permalink)  
Antiguo 08/02/2010, 09:22
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Problema con upload de archivos

veo que en tu formulario esta bien.

Código HTML:
Ver original
  1. <form action="../Funciones/upload.php" method="post" enctype="multipart/form-data">
  2.   <br>
  3.   <b>Enviar una Imagen o Archivo desde tu Ordenador</b>
  4.   </center>
  5.   <center>
  6.     <input name="userfile" type="file" class="boton" />
  7.     <input type="submit" value="Enviar" />
  8.   </center>
  9. </form>

en tu campo oculto.

Código HTML:
Ver original
  1. <input type="hidden" name="MAX_FILE_SIZE" value="[U]20000000[/U]">

porque en el value le colocas subrayado ?. quitale esa etiqueta.

no entendi la parte que mencionas de como configurar el tiempo de ejecucion y memoria.

saludos.

Última edición por esaenz22; 08/02/2010 a las 09:33 Razón: correccion.
  #21 (permalink)  
Antiguo 08/02/2010, 12:41
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

no lo coloco subrayado, solo que en el codigo no se resalta

era lo que tenia mal, estaba limitado a 2 mb
  #22 (permalink)  
Antiguo 08/02/2010, 13:30
(Desactivado)
 
Fecha de Ingreso: abril-2008
Mensajes: 787
Antigüedad: 16 años, 7 meses
Puntos: 7
Respuesta: Problema con upload de archivos

ah bueno. entonces, tu problema esta solucionado ?.

saludos.
  #23 (permalink)  
Antiguo 08/02/2010, 15:09
50l3r
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con upload de archivos

intento subir un archivo gordo al server esta noche y os lo digo

es un archivo de 700kb asi que deberia dejar, si deja, es que se corrigio el error

Etiquetas: 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 19:04.