Lo, prob de gestion de fichier sur ftp en php

cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011 - 3 oct. 2005 à 17:24
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 - 4 oct. 2005 à 17:22
lo all,

Simple, je crée un fichier, j'insere des mails dedans pour un soft de mailing.

mon code :

//Création du fichier temp de la liste email visiteur
$content = "";
do {
$content .= $row_mailvisit['email']."\n";
} while ($row_mailvisit = mysql_fetch_assoc($mailvisit));


$ftp_server = "********.net";
$ftp_user = "toto";
$ftp_pass = "tata";


// Connexion
$conn_id = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); <- OK


// Login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
echo "Connecté en tant que [mailto:$ftp_user@$ftp_server\n $ftp_user@$ftp_server\n]"; <- OK
} else {
echo "Connexion impossible en tant que $ftp_user\n";
}


unlink("ftp://Log:Pass@ServerFtp/www/mail.visit.txt"); <- No such file or directory
$handle = fopen("ftp://Log:Pass@ServerFtp/www/mail.visit.txt", "w"); <- OK si le fichier n'existe pas, sinon failed to open stream: FTP server reports 213 12402


fwrite($handle, $content); <- OK si le fichier n'existe pas, sinon supplied argument is not a valid stream resource


// Fermeture de la connexion
ftp_close($conn_id);

En gros, si le fichier n'existe pas aucun probleme (sauf pour le unlink jmetterai une condition + td ce n est pas le prob du moment ).

Merci de m'aider jviens de me tapper 3 heures de nexen et jcapte rien !

A + td bonne soirée a vous et MERCI D'AVANCE!

Try to dodge my skill !

5 réponses

FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
3 oct. 2005 à 22:53
do {
$content .= $row_mailvisit['email']."\n";
} while ($row_mailvisit = mysql_fetch_assoc($mailvisit));



J'aime pas trop cette solution du while inversé.

while ($row = mysql_fetch_array($mailvisit) ) {

$content .= $row['email']."\n\r";

}



Par contre, je suis pas sur que ton truc doit marcher.




@ftp_login($c, $utilisateur, $motdepasse) or die("Login error");
@ftp_put($c, $distant, $local, FTP_BINARY) or die("Transfert error");
@ftp_close($c) or die("Ending command error");


C'est comme ca que ca marche avec un FTP, certainement pas avec file();
0
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
4 oct. 2005 à 08:41
Je ne veut pas dl un fichier local sur mon ftp, jveut juste crée un fichier est inserer des mail dedans.
Avec ma method sa fonctionne si le fichier n'existe pas, il est crée et rempli de $content.

ensuite c est ma que jbloque, si le fichier existe jpeut pas reécrire dedans apparament donc j'ai essayer un unlink mais rien à faire il ne trouve pas le fichier! alors qu'il existe ... j'ai reussi a le faire trouver par cette ligne :

unlink("../../mail.visit.txt"); <- seul prob jn'ai pas les permission (fichier en 0777), comme si je n'etait pas logger ... alors que je le suis.

donc voila koa ... i dont hunderstand

Try to dodge my skill noob!
0
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
4 oct. 2005 à 12:54
J'aurais pas fait comme ca...

J'aurais dans un premier temps crée mon fichier texte, ensuite je le balance sur via les fonctions FTP.



Mais, première question : Est ce que ton FTP t'appartient ? Est ce que
le script PHP s'y trouve ? Si oui, alors tu n'as pas besoin de te faire
chier avec le FTP... Si non, peut-être avec fsockopen()...
0
cs_destiny Messages postés 249 Date d'inscription jeudi 17 février 2005 Statut Membre Dernière intervention 29 août 2011
4 oct. 2005 à 14:43
lo, oui je suis l'admin du ftp et mon fichier php sur celui-ci!

t'as une idée?

Try to dodge my skill noob!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FhX Messages postés 2350 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 18 avril 2015 3
4 oct. 2005 à 17:22
Quand tu créer un fichier avec fopen(), t'es déja sur ton FTP. Donc si je fais :



$file = fopen('text.txt',w);

Le fichier text.txt se trouve sur la racine de ton site web. Donc pas
besoin de t'emmerder à copier un fichier qui se trouve au bon endroit :)



De plus, pour le unlink(), vérifie que tu possèdes bien les droits pour
le faire via Apache je crois, ou alors modifie le CHMOD de ton fichier
en 777 temporairement (avec un client FTP cette fois :)).

Par contre, fait un unlink() sans le ftp:// mais en http://

T'as confondu les 2, c'est pas bien grave encore ;)
0
Rejoignez-nous