Foros del Web » Programando para Internet » PHP »

Dudas al hacer upload

Estas en el tema de Dudas al hacer upload en el foro de PHP en Foros del Web. Hola a todos, estuve haciendo hace poco un upload de un archivo, pero ahora q veo este tema completamente nuevo para mi me han surgido ...
  #1 (permalink)  
Antiguo 14/01/2005, 13:20
 
Fecha de Ingreso: diciembre-2004
Mensajes: 94
Antigüedad: 13 años
Puntos: 0
Pregunta Dudas al hacer upload

Hola a todos, estuve haciendo hace poco un upload de un archivo, pero ahora q veo este tema completamente nuevo para mi me han surgido varias dudad, para esto les pondre el codigo que utilizo:

El codigo que utilice para aprender lo de upload es uno que propuso asinox


Código PHP:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>
<form name="form" enctype="multipart/form-data" method="post" action="">
<input type="file" name="file">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>

<?

if (phpversion() > "4.0.6") {
$HTTP_POST_FILES = &$_FILES;
}
define("MAX_SIZE",300000);
define("DESTINATION_FOLDER""d:\JoseLuis");
define("no_error""ok.html");
define("yes_error""error.html");
$_accepted_extensions_ "txt,vsd";
if(
strlen($_accepted_extensions_) > 0){
$_accepted_extensions_ = @explode(",",$_accepted_extensions_);
} else {
$_accepted_extensions_ = array();
}
$_file_ $HTTP_POST_FILES['file'];
if(
is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['file']['error'] == 0){
$errStr "";
$_name_ $_file_['name'];
$_type_ $_file_['type'];
$_tmp_name_ $_file_['tmp_name'];
$_size_ $_file_['size'];

if(
$_size_ MAX_SIZE && MAX_SIZE 0){
$errStr "File troppo pesante";
}
$_ext_ explode("."$_name_);
$_ext_ strtolower($_ext_[count($_ext_)-1]);

if(!
in_array($_ext_$_accepted_extensions_) && count($_accepted_extensions_) > 0){
$errStr "Estensione non valida";
}
if(!
is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){
$errStr "Cartella di destinazione non valida";
}

if(empty(
$errStr)){
@
copy($_tmp_name_,DESTINATION_FOLDER "/" $_name_);
}
}
?>
Bueno, una vez que corri este codigo, en la carpeta "D:\JoseLuis" del servidor se suben correctamente los archivos que elijo en mi maquina local.

Pero ahora tengo varias dudas.

La primera tiene que ver con la configuracion en el archivo php.ini
y con este parametro:

upload_tmp_dir = C:/Php/uploads

Se supone que aca es donde se guardan los temporales que se van a subir, pero siempre que reviso esa carpeta despues de subir un archivo esta se encuentra vacia.

y tambien si hago un
Código PHP:
echo $_file_['tmp_name']; 
en el codigo de arriba

me arroja siempre algo asi: C:/Php/uploads\php4A6.tmp
esta bien que el ultimo sea un backslash? mientras que los otros son slashes? o esa puede ser la posible razon por la que vea siempre mi carpeta vacion en C:/Php/uploads


Muchas Gracias

Última edición por Jose_Luis; 14/01/2005 a las 13:22
  #2 (permalink)  
Antiguo 15/01/2005, 07:41
 
Fecha de Ingreso: diciembre-2004
Mensajes: 94
Antigüedad: 13 años
Puntos: 0
Aun no encuentro solucion a mi duda
  #3 (permalink)  
Antiguo 17/01/2005, 06:20
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Quita el @ a tu función copy() .. eso oculta los mensajes de error que pudiera probocarse en esa función .. no debes usarlo en fase de "desarrollo".

Cita:
me arroja siempre algo asi: C:/Php/uploads\php4A6.tmp
Esto es normal .. Y de hecho te dice que el "Upload" se ha efectuado. Ahora faltará ver si tu copy() funciona correctamente tras pasar ese montón de validaciones sobre el archivo (tamaño, extension .. etc) que haces.

Un saludo,
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 12:31.