Foros del Web » Programando para Internet » PHP »

subir con ftp desde php

Estas en el tema de subir con ftp desde php en el foro de PHP en Foros del Web. Hola amigos, estoy tratando de subir a ftp con este codigo Código: <form name="enviador" method="post" action="recibe.php" enctype="multipart/form-data"> <input type="hidden" name="MAX_FILE_SIZE" value="1000"> Archivo: <input type="file" name="archivo"> ...
  #1 (permalink)  
Antiguo 27/11/2008, 06:07
Avatar de ArturoLV  
Fecha de Ingreso: noviembre-2005
Ubicación: omnipotencia
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
subir con ftp desde php

Hola amigos, estoy tratando de subir a ftp con este codigo

Código:
<form name="enviador" method="post" action="recibe.php" enctype="multipart/form-data">
<input type="hidden" name="MAX_FILE_SIZE" value="1000">
Archivo: <input type="file" name="archivo">
<input type="submit">
para el form

y el recibidor es

Código:
<?php
	// Primero creamos un ID de conexión a nuestro servidor
	$cid = ftp_connect("www.cg.edu.mx");
	// Luego creamos un login al mismo con nuestro usuario y contraseña
	$resultado = ftp_login($cid, "usuario","noteladigo");
	// 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
	//ftp_chdir($cid, "boca");//esta desactivado porque sube a la raiz
	//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 = "/srv/www/htdocs/boca/" . $local;
	// 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);		
		}
		// Sino se pudo subir el temporal
		else {
			echo "no se pudo subir el archivo " . $local;
		}
	}
	echo "Ruta: " . $ruta;
	//cerramos la conexión FTP
	ftp_close($cid);
?>

pero cuando pasa al recibidor, no pasa nada se queda en blanco ni siquiera sale la conexion fallo

qur podrá estar pasando????

gracias
  #2 (permalink)  
Antiguo 27/11/2008, 06:18
Avatar de korg1988  
Fecha de Ingreso: junio-2006
Ubicación: Santa Fe, Argentina
Mensajes: 825
Antigüedad: 18 años, 4 meses
Puntos: 19
Respuesta: subir con ftp desde php

probaste ampliar la memoria total asignada en el php.ini? me pasaba que me quedaba sin memoria cuando realizaba una consulta grande a mysql

quiza este sea tu problema, no quiero mentirte, porque no trabaje mucho con ftp pero podes probar al menos es una idea jaja

sino fijate alguna restriccion que tengas con respecto a conectarte a otras URL

igualmente es raro que se te quede todo blanco
  #3 (permalink)  
Antiguo 27/11/2008, 07:15
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: subir con ftp desde php

ArturoLV, estás seguro que tu configuración muestre bien todos los errores? (con hacer un .php con solo <?=$unavarnodefinda;?> dentro te darás cuenta).
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #4 (permalink)  
Antiguo 30/11/2008, 17:01
Avatar de ArturoLV  
Fecha de Ingreso: noviembre-2005
Ubicación: omnipotencia
Mensajes: 146
Antigüedad: 19 años
Puntos: 0
Respuesta: subir con ftp desde php

Gracias por sus respuestas....

parece que como dice Nicolaspar, no esta habilitada dicha opcion

agregue el <?=$unavarnodefinda;?>

y no paso nada, todo en blanco

debo aclarar que mi hosting es un smallbussines de yahoo, y no se como haria para editar ese php.ini, sospecho que no me dejarias, pero en moodle, q tambien lo tengo en mi hosting, puedo subir archivos, aunque no se sin con php, en todo caso conocen algun script para hacerlo

gracias
  #5 (permalink)  
Antiguo 01/12/2008, 06:45
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 20 años
Puntos: 34
Respuesta: subir con ftp desde php

En el archivo que creaste y que tiene <?=$unavarnodefinda;?>, ahora dejalo así:

Código PHP:
<?
error_reporting
(E_ALL);
ini_set('display_errors','1');
 
echo 
$unavarnodefinda;
?>
Si eso si te muestra un error, agregale las dos primeras líneas a tu file de "FTP UPLOAD" y contanos que error tiene.
__________________
Mi punto de partida es Que Bueno Lo Nuevo
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 14:45.