Foros del Web » Programando para Internet » PHP »

Problemas al subir ficheros

Estas en el tema de Problemas al subir ficheros en el foro de PHP en Foros del Web. Hola a todo el mundo, la cuestion es que hemos hecho este script para subir ficheros. al ejecutarlo en el directorio raiz ( http://localhost/paginaweb/ ) ...
  #1 (permalink)  
Antiguo 04/04/2006, 14:15
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 11 años, 11 meses
Puntos: 2
Problemas al subir ficheros

Hola a todo el mundo,
la cuestion es que hemos hecho este script para subir ficheros. al ejecutarlo en el directorio raiz (http://localhost/paginaweb/) funciona estupendamente pero cuando lo ejecutamos en una carpeta(http://localhost/paginaweb/support/) no tira.... alguien sabria decirme por qué???

el error que nos reporta es:

Warning: Unable to create 'docs/824-2000.pdf': No such file or directory in c:\apache\htdocs\atlansur\support\upload_docs.php on line 30

Warning: Unable to move 'C:\WINDOWS\php103.tmp' to 'docs/824-2000.pdf' in c:\apache\htdocs\atlansur\support\upload_docs.php on line 30
Error uploading file

y el codigo es
Código PHP:
<?

//Modificación de la configuracion de php.ini del server
ini_set ("file_uploads","On");
ini_set ("max_execution_time","600");
ini_set ("max_input_time","600");
ini_set ("memory_limit","100M");
ini_set ("upload_tmp_dir","tmp/");
ini_set ("post_max_size","100M");
ini_set ("upload_max_filesize","100M");

// you can change this to any directory you want
// as long as php can write to it
$uploadDir 'docs/';


if(isset(
$_POST['upload']))
{
    
$fileName $_FILES['userfile']['name'];
    
$tmpName  $_FILES['userfile']['tmp_name'];
    
$fileSize $_FILES['userfile']['size'];
    
$fileType $_FILES['userfile']['type'];

    
// the files will be saved in filePath 
    
$filePath $uploadDir $fileName;

    
// move the files to the specified directory
    // if the upload directory is not writable or
    // something else went wrong $result will be false
    
$result    move_uploaded_file($tmpName$filePath);
    if (!
$result) {
        echo 
"Error uploading file";
        exit;
    }
    include 
'\include\db.php';

    if(!
get_magic_quotes_gpc())
    {
        
$fileName  addslashes($fileName);
        
$filePath  addslashes($filePath);
    }  

    
$query "INSERT INTO docs (imo, name, size, type, path ) ".
             
"VALUES ('$imo', '$fileName', '$fileSize', '$fileType', '$filePath')";

    
mysql_query($query) or die('Error, query failed : ' mysql_error());                    

    echo 
"<br>File uploaded<br>";
}        
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<head>
<title>Subir Informe Final</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link href="../css/clients.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="contenedor_alt">

<form action="" method="post" enctype="multipart/form-data" name="uploadform">
  <table width="48%" border="0" cellpadding="1" cellspacing="1" class="box">
    <tr> 
      <td width="78"><p>
          <input type="hidden" name="MAX_FILE_SIZE" value="100000000">
                        Imo 
        </td>
      <td width="193" align="left"><input type="text" name="imo" id="imo" /></td>
      <td width="84" rowspan="2" align="center"><input name="upload" type="submit" class="box" id="upload" value="  Upload  "></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td align="left"><input name="userfile" type="file" class="text" id="userfile" /></td>
    </tr>
  </table>
</form>
</div>
</body>
</html>
  #2 (permalink)  
Antiguo 04/04/2006, 18:16
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
'docs' existe en la carpeta?
move_uploaded_file no crea directorios.....
  #3 (permalink)  
Antiguo 04/04/2006, 18:18
 
Fecha de Ingreso: febrero-2003
Ubicación: Santiago
Mensajes: 220
Antigüedad: 14 años, 10 meses
Puntos: 4
simple

en (http://localhost/paginaweb/support/)
existe docs? semejante a lo de m colega de arriba, eso nada mas.
__________________
Roberto Osses Elgueta
Senior Web Developer
  #4 (permalink)  
Antiguo 05/04/2006, 04:26
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 11 años, 11 meses
Puntos: 2
docs existe en la carpeta support, pero me sigue saliendo este error:

Warning: Failed opening '\include\db.php' for inclusion (include_path='.;c:\apache\php\pear') in c:\apache\htdocs\atlansur\support\upload_docs.php on line 36
Error, query failed : No Database Selected
  #5 (permalink)  
Antiguo 05/04/2006, 07:22
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 971
Antigüedad: 13 años, 7 meses
Puntos: 2
Es un problema de ruta, busca la forma de apuntar correctamente. Si ese archivo esta un nivel mas arriba probá sacandole la \ inicial. No se cual será tu estructura de directorios.
  #6 (permalink)  
Antiguo 05/04/2006, 08:13
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 11 años, 11 meses
Puntos: 2
Pense que añadiendo la siguiente ruta serviria, porque me funciono con otro script:
include 'c:\apache\php\pear\PEAR\config.php';
pero me sigue dando error,

a que te refieres con estructura de archivos???. trabajo sobre win XP con phpmyadmin y apache y la ruta de acceso es c:\apache\htdocs\paginaweb\
  #7 (permalink)  
Antiguo 05/04/2006, 08:47
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 971
Antigüedad: 13 años, 7 meses
Puntos: 2
Cita:
Iniciado por floog
docs existe en la carpeta support, pero me sigue saliendo este error:

Warning: Failed opening '\include\db.php'
a lo que voy, es a la forma que hayas armado las carpetas del sitio, fijate que estes apuntando correctamente con esta linea '\include\db.php' al archivo db.php.
Al parecer el error es porque no lo encuentra en la ruta expecificada.
  #8 (permalink)  
Antiguo 05/04/2006, 08:55
Avatar de floog  
Fecha de Ingreso: enero-2006
Mensajes: 191
Antigüedad: 11 años, 11 meses
Puntos: 2
gracias moron,

probe apuntando a la direccion completa asi:

include 'c:\apache\htdocs\atlansur\include\db.php';

la cuestion es que lo tendre que modificar cuando lo suba al server de manera definitiva no?? es decir si el server es linux, como tendre que modificarlo??
  #9 (permalink)  
Antiguo 05/04/2006, 09:16
Avatar de moron  
Fecha de Ingreso: mayo-2004
Mensajes: 971
Antigüedad: 13 años, 7 meses
Puntos: 2
por nada:

Cita:
Iniciado por floog
probe apuntando a la direccion completa asi:

include 'c:\apache\htdocs\atlansur\include\db.php';

la cuestion es que lo tendre que modificar cuando lo suba al server de manera definitiva no?? es decir si el server es linux, como tendre que modificarlo??
no. investiga sobre links relativos.
supongamos que el archivo en cuestión esta en la misma carpeta:
include 'db.php';
en una carpeta superior:
include 'carpetaSuperior\db.php';
en una carpeta inferior:
include '..\db.php';
etc.

saludos
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:25.