ftp récupère fichier texte d'un ftp transfert ve mon serveur

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : ftp récupère fichier texte d'un ftp transfert ve mon serveur

ftp_get et ftp_fget

par maïa » 04 févr. 2007, 00:28

cela ne fonctionne pas non plus avec ftp_get que j'utilisai déjà dans la fonction suivante et qui réagit de la même manière ;

function ftp_biens()
{
   	$w = "";
   	$r = connect_ftp();
   	echo "get pas encore";
   	if(ftp_get($r,"liste_biens.aff","Perso/cbi78-p.aff",FTP_BINARY))
   	{
   		echo "get ok";
   		$liste_biens = file ("http://idc.lautre...fichier.aff");
		$biens = count($liste_biens);
   		supprime_biens();
   		
  		for($i=0; $i<$biens; $i++)
		{
			$bien = $liste_biens[$i];
			$detail_bien = explode(";", $bien);		
			$w .= insere_biens($detail_bien);
		}
   	}
   	else $w = "<div class=\"texte_ok\">&Eacute;chec. Veuillez essayer plus tard.</div>";
   	
	return $w;
	ftp_close($r);
}

Re: ftp_get

par Ajoloca » 03 févr. 2007, 00:27

Bonsoir,
le pb semble venir du ftp_get
ftp_get() c'est ce que devrais utiliser, mais tu utilises ftp_fget().

Le premier (ftp_get()) copie le fichier directement de la machine distante dans la machine locale sans que tu ais besoin de gérer le "handle" du fichier local.
Le second (ftp_fget()) demande une manipulation (c'est toi qui dois gérer l'écriture locale).

ftp_get

par maïa » 03 févr. 2007, 00:10

le pb semble venir du ftp_get

par maïa » 02 févr. 2007, 21:21

mais je ne savais pas merci :wink:

par Brice83 » 02 févr. 2007, 21:18

Non, si tu n'a aucune valeur a insérer, tu peut faire comme ceci :
INSERT INTO ta-table values ('', '$r[1]',........ !
Enfin,cela n'a aucun rapport avec ta question initiale et je n'en ai pas la réponse :(

par maïa » 02 févr. 2007, 21:15

tu as raison, mais je crois qu'il faut insérer une valeur dans tous les champs de la table, ce qui ne sera pas le cas.

je pense que cela vient du de ma connexion ftp,
est ce que le ftp est sur en php ou existe t il d'autre solution de tranfert, j'ai entendu parler de socket (?)( kindy)

merci de ta réponse

par Brice83 » 02 févr. 2007, 20:54

Je sait pas si je vais te raconter une bourde mais tu n'est pas obliger de préciser les insert !

Fait seulement ca :
INSERT INTO ta-table values ('$r[0]', '$r[1]',.............................
ces variables seront insérer dans l'ordre que tu décide par rapport a ce code donc inutile de précisé le nom des champ...!

ftp récupère fichier texte d'un ftp transfert ve mon serveur

par maïa » 02 févr. 2007, 20:47

bonjour à vous,
premier message,

j'ai à ma disposition un fichier texte .aff (je ne connaissais pas)
je veux récupérer le contenu et le copier sur un autre serveur

la connexion se passe bien le transfert plante à 80% voir plus

je vous joint les fonctions
la premières fonction insère les éléments dans une base de données
la seconde récupère et liste les lignes du fichier texte
function insere_biens($r)
{
	
	$origine	= array("²","é","è","à","'");
	$code		= array("&sup2;","&eacute;","&egrave;","&agrave;","\'");
	$d			= utf8_encode($r[9]);
	$d			= str_replace($origine,$code,$d);
	$idc 		= connect_bd();
	$req 		= "INSERT INTO cbi_biens ";
	$req		.= "(type_transaction,type_biens,reference,numero_mandat,cp,ville,prix_mandat_fr,prix_mandat_euro,secteur,";
	$req		.= "nombre_pieces,nombre_chambres,surface_habitable,surface_terrain,niveaux,etage,annee_construction,";
	$req		.= "jardin,digicode,balcon,terrasse,cave,ascenceur,garage,parking,";
	$req		.= "chauffage,nombre_bains,nombre_wc,orientation,date_modification,description,exclusivite,stationnement) ";
	$req		.= "VALUES ('$r[0]','$r[1]','$r[2]','$r[3]','$r[4]','$r[5]',$r[6],$r[7],'$r[8]',";
	$req		.= "'$r[10]','$r[11]','$r[12]','$r[13]','$r[14]','$r[15]','$r[16]',";
	$req		.= "'$r[17]','$r[18]','$r[20]','$r[21]','$r[22]','$r[23]','$r[24]','$r[25]',";
	$req		.= "'$r[26]','$r[27]','$r[28]','$r[29]','$r[30]','$d','$r[33]','$r[35]')";
	$w			= "<div class=\"texte_ok\">" . $r[0] . " - " . $r[1] . " - " . $r[2] . " - " . $r[3] . " - " . $r[4] . " - " . $r[5] . "</div>";
	$r 			= query($req);
	return $w;
}



function dowload_images()
{
	$r = connect_ftp();
	ftp_chdir($r, "Photos");
   	$liste = ftp_nlist($r,"");
   	$n = count($liste);
   	$liste_images = "";
   	
   	for($i=0; $i<$n; $i++)
   	{
   		$nom_local = substr($liste[$i],15);
   		$lien_local = "../images/DATA/".$nom_local;
   		$file_open = fopen($lien_local,"wb");
   		if(ftp_fget($r, $file_open, $liste[$i], FTP_BINARY)){ $liste_images .= "<div class=\"texte_ok\">- " . $liste[$i] . "</div>";}
   		else{ $liste_images .= "<div class=\"texte_no\">- " . $liste[$i] . " -</div>";}
   	}
   	return $liste_images;
}

par avance merci,
et désolé si j'enfreinds quelques règles
je m'efforcerai d'y remédier