Ver Mensaje Individual
  #11 (permalink)  
Antiguo 18/06/2008, 12:00
0skar
 
Fecha de Ingreso: marzo-2007
Ubicación: En El salvador
Mensajes: 78
Antigüedad: 17 años, 1 mes
Puntos: 0
Respuesta: no puedo subir archivos

Bueno yo estuve revisando la configuración del hosting donde debo de subir archivos y es la siguiente:

Language Options asp_tags Allow ASP-style <% %> tags. Off File Uploads file_uploads Whether to allow HTTP file uploads. On Paths and Directories include_path Windows: "\path1;\path2" .:/usr/lib/php:/usr/local/lib/php Resource Limits max_execution_time
30 Resource Limits max_input_time
60 Resource Limits memory_limit Maximum amount of memory a script may consume (8MB) 32M Data Handling register_globals 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. Off Language Options safe_mode
Off main session.save_path where N is an integer. Instead of storing all the session files in /path, what this will do is use subdirectories N-levels deep, and store the session data in those directories. This is useful if you or your OS have problems with lots of files in one directory, and is a more efficient layout for servers that handle lots of sessions. NOTE 1: PHP will not create this directory structure automatically. You can use the script in the ext/session dir for that purpose. NOTE 2: See the section on garbage collection below if you choose to use subdirectories for session storage /tmp File Uploads upload_max_filesize Maximum allowed size for uploaded files. 24M
Disculpen que pongo tanta info pero es que quisiera que viesen todos los datos necesarios a fin de poder solucionar mi problema. Por lo que veo tengo habilitado los derechos para poder subir archivos y que el limite máximo es de 24mb. He intentado varias cosas y aun así no me funciona, lo peor es que veo que en efecto el archivo si es subido en la carpeta temporal del servidor porque para comprobar he puesto que imprima valores como la ubicacion temporal del archivo, el tamaño, el nombre y si este tiene algun error y me imprime todo bien y en lo del error me imprime 0 lo que indica que no tiene ningun error, pero al ejecutar la funcion move_uploaded_file() pues me retorna false. Habrá algun modo como de saber especificamente la causa por la cual la funcion no se lleva a cabo, algo como un mensaje de error puntual o algo por el estilo? Bueno para uqe lo vean aqui les dejo el código de pag1.html la cual tiene el control para subir el archivo y pag2.php para subir el archivo.

pag1.html

Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>USubir un archivo</title>
</head>

<body>
<form enctype="multipart/form-data" action="pag2.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="100000000000">
Send this file: <input name="uploadFile" id="uploadFile" type="file">
<input type="submit" value="Send File">
</form>


</body>
</html>
pag2.php
Aqui quiero recalcar, que para probar he estado intentando subir archivos como imagenes jpg de unos 100kb y archivos pequeñitos, tambien que en el segundo parámetro de la funcion move_uploaded_file() que es como la ubicación en el servidor donde se guardará el archivo, yo pretendo guardarlo en una carpeta llamada uploads que esta en el mismo nivel que el script pag2.php, y ahi he probado de varias maneras, poniendo "/uploads/", "uploads/", "/uploads", "uploads" y tambien "http://www.dominio.org.sv/uploads/" y no me ha funcionado de ninguna manera.

Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>


<body>

<?php 
// In PHP 4.1.0 or later, $_FILES should be used instead of $HTTP_POST_FILES.
if (is_uploaded_file($_FILES['uploadFile']['tmp_name']))
{
echo 
"el archivo esta en el server";
}
else
{
echo 
"el archivo no se pudo subir";
}

echo 
$_FILES['uploadFile']['tmp_name'] . '<br>';
echo 
$_FILES['uploadFile']['name'] . '<br>';
echo 
$_FILES['uploadFile']['size'] . '<br>';
echo 
$_FILES['uploadFile']['error'] . '<br>';
/* if (is_uploaded_file($HTTP_POST_FILES['uploadFile']['tmp_name'])) {
    copy($HTTP_POST_FILES['uploadFile']['tmp_name'], "http://www.comunidadcristiana.org.sv/uploads/");
} else {
    echo "Possible file upload attack. Filename: " . $HTTP_POST_FILES['uploadFile']['name'];
} */
/* ...or... */
if(move_uploaded_file($HTTP_POST_FILES['uploadFile']['tmp_name'], "uploads/"))
{
echo 
"El archivo se subió correctamente";
}
else
{
echo 
"El archivo no se pudo subir";
}
?>

</body>
</html>
Por ultimo, aqui les dejo lo que obtengo como muestra, de un archivito que intente subir, como veran imprime todo lo del archivo ya cuando está en la carpeta temporal en el servidor.

el archivo esta en el server/tmp/phpZN4Ug9Y
application.ini
2025
0

Espero que puedan ayudarme.

Última edición por 0skar; 18/06/2008 a las 12:01 Razón: Modificar el post para mostrar unos resultados