Ver Mensaje Individual
  #12 (permalink)  
Antiguo 24/10/2005, 02:27
Avatar de jam1138
jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
El error que me da cuando quiero ,por ejemplo, subir un pdf es este "Ocurrió algún error al subir el fichero. No pudo guardarse."
Ok, entonces con eso sabes que la función move_uploaded_file() no pudo ejecutarse. Ya te había dicho antes hicieras un is_uploaded_file().... mencioné que "tu dimensión" era incorrecta (aunque dije 10 cuando son 100 , la idea es la misma); 1000 (en realidad 1024) bytes es un Kbyte por lo que 100Kb son 100000 bytes... porque el tamaño lo recibes en bytes. Por último, la validación es (traducida al español):
Código:
SI((no es archivo permitido) Ó (el tamaño exéde los 100KB)) {
      mostramos mensaje de error
}
... no es "Y" sino "O"... por ahí hay otro error más...

Prueba con:
Código PHP:
<html>

<head>
  </head>

<body>
    <?
    $connection
=mysql_connect("localhost","------","------"//abro conexion mysql
or die ("No funciono la conexion");

$db mysql_select_db("proyecto",$connection//conecto con la base de datos
or die ("Fallo conexion con base de datos");

                       
//tomo el valor de un elemento de tipo texto del formulario
$cadenatexto $_POST["cadenatexto"];

$directorio "c:/appserv/www/archivos/"//directorio donde se guardan los archivos


$archivo_tipo $_POST["archivo_tipo"];
$nombre $_POST["nombre"];

if(!
is_uploaded_file($_FILES['userfile']['tmp_name'])
      echo 
"No se pudo cargar el archivo";
else {
$nombre_archivo $HTTP_POST_FILES['userfile']['name'];
$tipo_archivo $HTTP_POST_FILES['userfile']['type'];
$tamano_archivo $HTTP_POST_FILES['userfile']['size'];
//compruebo si las características del archivo son las que deseo
$nombre_archivo ereg_replace(" """$nombre_archivo); //borra espacios libres en nombre de archivo

echo "Tipo de archivo: ".$tipo_archivo."<BR>";

if ((
$tipo_archivo !="image/gif" && $tipo_archivo !="image/jpeg" && $tipo_archivo!="application/pdf" && $tipo_archivo !="image/pjpeg" && $tipo_archivo !="application/msword")
|| (
$tamano_archivo 100000)) { // cambié el tamaño y coloco ||
    
echo "<br><big><big>La extensión o el tamaño de los archivos no es correcta.</big></big> <br><br><table><tr><td><li>Se permiten archivos .gif , .jpg , .pdf y .doc<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}else{
    if (
move_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'],$directorio.$nombre_archivo)){
       echo 
"<big><big>El archivo ha sido cargado correctamente.</big></big>";

        
$query "INSERT INTO archivos (nombre,tipo,tamano,descripcion,nombrearchivo)
        VALUES ('$nombre','$archivo_tipo','$tamano_archivo','$cadenatexto','$nombre_archivo')"
;
         
$result mysql_query($query)
          or die (
"<BR>No pudo agregar las cosas a la base de datos"); //agrego los datos obtenidos

     
echo "<br><br>";
echo 
"<TABLE><TR><TD><b>Nombre</b></TD><TD>".$nombre."</TD></TR>";
echo 
"<TR><TD><b>Tipo de archivo</b></TD><TD>".$tipo_archivo."</TD></TR>";
echo 
"<TR><TD><b>Tamaño de archivo</b></TD><TD>".$tamano_archivo."</TD></TR>";
echo 
"<TR><TD><b>Nombre de archivo</b></TD><TD>".$nombre_archivo."</TD></TR></TABLE>";

    }else{
       echo 
"Ocurrió algún error al subir el fichero. No pudo guardarse.";
    }
}
// por el else que agregué


?>
<br><br><br><br><br><A href="index.php"><div align="center">Inicio</div></a><A href="mostrararchivos.php"><div align="center">Base de datos</div></a>
</body>

</html>
... espero sirva. Si sale el mensaje de "No se pudo cargar el archivo" (que agregué) el problema podría estar en la configuración de tu servidor...

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 24/10/2005 a las 02:33