bonjour,
voici un petit problème qui me tarabusque... je suis surement à côté de mes pompes, mais bon. J'ai un serveur Apache et je cherche à localiser un fichier qui se trouve sur mon disque externe en faisant un file_exists();
par ex:
<?php
$fp = "/VOLUMES/DONNEES/fichier.swf";
if(file_exists($fp)){
$file = fopen($fp, 'r');
}else{echo "existe pas";}
?>
Jusque là pas de souci... il me dit bien qu'il existe et je peux même l'afficher avec un fread(). Le problème arrive maintenant:
Je cherche à l'envoyer sur un serveur distant de cette manière:
<?php
///////////////////////////////////////// connexion au serveur distant //////////////////////////////
$ftp_server = "mon_serveur";
$conn_id = ftp_connect($ftp_server);
$ftp_user_name="user";
$ftp_user_pass="mdp";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv($conn_id, true);
// Vérification de la connexion
if ((!$conn_id) || (!$login_result)) {
echo "pos bon";
exit;
} else {
echo "connecté";
}
////////////////////////////////////////////// le nb_fput ////////////////////////////////////////////////
$fp = "/VOLUMES/DONNEES/fichier.swf";
if(file_exists($fp)){
$file = fopen($fp, 'r');
}else{echo "existe pas";}
$file_dest ="/web/fichier.swf";
$ret = ftp_nb_fput($conn_id, $file_dest, $file, FTP_BINARY);
while ($ret == FTP_MOREDATA) {
$ret = ftp_nb_continue ($conn_id);
}
if ($ret != FTP_FINISHED) {
echo "&res=plantage";
exit(1);
}else{echo "&res=déposage";}
///////////////////////////////////////////////////////////////////////////////////////////////
?>
et la rin de rin... il ne veut pas me l'envoyer... Personne ne saurait me dire pourquoi par hasard? Est-ce parceque le fichier n'est pas au sein du serveur? Mais dans ce cas pourquoi puis-je le lire et afficher son contenu dans mon browser?
Voila, Merci d'avance à ceux qui seront déjà arrivé au bout de ce post ;%