Foros del Web » Programando para Internet » PHP »

subir pdf

Estas en el tema de subir pdf en el foro de PHP en Foros del Web. buenas a todos, tengo un codigo en php para subir ficheros , la cosa es que me sube todos los ficheros que elijo menos los ...
  #1 (permalink)  
Antiguo 18/10/2005, 17:50
Avatar de hadesinfer  
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 12 años, 7 meses
Puntos: 0
subir pdf

buenas a todos, tengo un codigo en php para subir ficheros , la cosa es que me sube todos los ficheros que elijo menos los pdf sabeis por que , caundo intento subir uno me muestra como temporal none....

<?php
// Primero creamos un ID de conexión a nuestro servidor
$cid = ftp_connect("csus.aljamir.net");

// Luego creamos un login al mismo con nuestro usuario y contraseña
$resultado = ftp_login($cid, "csus","csAgosto2");


// Comprobamos que se creo el Id de conexión y se pudo hacer el login
if ((!$cid) || (!$resultado))
{
echo "Fallo en la conexión";
die;
}
else
{
echo "Conectado.";
}



// Cambiamos a modo pasivo, esto es importante porque, de esta manera le decimos al
//servidor que seremos nosotros quienes comenzaremos la transmisión de datos.
ftp_pasv ($cid, true) ;


echo "<br> Cambio a modo pasivo<br />";

// Nos cambiamos al directorio, donde queremos subir los archivos, si se van a subir a la raíz
// esta por demás decir que este paso no es necesario. En mi caso uso un directorio llamado boca

echo $_SERVER['DOCUMENT_ROOT'];

echo ftp_pwd($cid);
echo "Cambiado al directorio necesario";


// Tomamos el nombre del archivo a transmitir, pero en lugar de usar $_POST, usamos $_FILES que le indica a PHP
// Que estamos transmitiendo un archivo, esto es en realidad un matriz, el segundo argumento de la matriz, indica
// el nombre del archivo
$local = $_FILES["archivo"]["name"];


// Este es el nombre temporal del archivo mientras dura la transmisión
$remoto = $_FILES["archivo"]["tmp_name"];


// El tamaño del archivo
$tama = $_FILES["archivo"]["size"];


echo "<br />$local<br />";
echo "$remoto<br />";
echo "subiendo el archivo...<br />";
// Juntamos la ruta del servidor con el nombre real del archivo
$ruta = "/home/sites/site33/web/arh/" . $local;

echo $_POST["MAX_FILE_SIZE"];
// Verificamos si no hemos excedido el tamaño del archivo
if ($tama>=$_POST["MAX_FILE_SIZE"])
{
echo "Excede el tamaño del archivo...<br />";
}
else
{
// Verificamos si ya se subio el archivo temporal
if (is_uploaded_file($remoto))
{
// copiamos el archivo temporal, del directorio de temporales de nuestro servidor a la ruta que creamos
copy($remoto, $ruta);
}
else
{
echo "no se pudo subir el archivo " . $local;
}
}
echo "Ruta: " . $ruta;
//cerramos la conexión FTP
ftp_quit($cid);
?>
  #2 (permalink)  
Antiguo 19/10/2005, 07:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Una pregunta ..
¿Tus archivos quedan en el mismo servidor que corres ese script PHP? .. Te hago el comentario para que no uses funciones de FTP (las cuales tardan su tiempo en la autentificación y demás) para que uses un simple: "move_uploaded_file()" (en lugar del copy() que usas y sólo eso .. a no ser que realmente te lleves el archivo hacia otro servidor por FTP).

*-*------------------

El problema con tus PDF's .. en principio se vé que aplicas limitaciones en el tamaño del archivo (pero no se vé cual .. falta el formulario HTML donde lo defines). Podría ser ese el problema (de tamaño de tu archivo . no del tipo en sí).

También por otro lado como usas FTP .. como servidor que es, este puede aplicar restricciones también (de tamaño .. de tipo de archivos .. etc) tendrías que revisar que tipo de error devuelve la conexión y transferencia del archivo vía FTP (si es que deseas seguir usando ese método pese que puedes simplicarlo si subes tus archivos al mismo servidor que ejecutas ese script).


Un saludo,
  #3 (permalink)  
Antiguo 19/10/2005, 14:36
Avatar de hadesinfer  
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 12 años, 7 meses
Puntos: 0
primero gracias por ayudarme....
si el pdf que subo quedaria en una carpeta del servidor donde se ejecuta el fichero php...

el fichero html es:

<form name="enviador" method="post" action="ftp2.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="4000">
Archivo: <input type="file" name="archivo">
<input type="submit">
</form>
  #4 (permalink)  
Antiguo 19/10/2005, 14:40
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Y ahora .. la otra pregunta.

Tu archivo PDF que quieres subir . .que tamaño (en bytes) tiene?

En tu código estás limitando todo archivo a subir a sólo 4.000 bytes (no llega a 4 Kbytes!!!!!!).

Un saludo,
  #5 (permalink)  
Antiguo 19/10/2005, 16:20
Avatar de hadesinfer  
Fecha de Ingreso: mayo-2005
Mensajes: 43
Antigüedad: 12 años, 7 meses
Puntos: 0
el fichero tiene 553kb pero he aumentado el limite a 9000000 pero ahora me da el error de error opening colores.pdf ?? esto es... una locura yo ya no entiendo na...
  #6 (permalink)  
Antiguo 19/10/2005, 18:51
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Lee esta FAQ:

http://www.forosdelweb.com/showpost....&postcount=146

Por qué ahora parece que tienes otro tipo de limitación por médio y no sube tu archivo completo (= corrupto) .. Prueba con archivos de menor tamaño y/o de otro tipo ..

En general .. PHP dispone de várias directivas que limitan que cantidad de datos puede manejar. También tu servidor HTTP (Apache?) aplica restricciones.

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 00:36.