Cela me donne maintenant une erreur de lecture du fichier :
Warning: ftp_get(): dons.txt: Permission deny in /dons-test.php on line 31
erreur au téléchargement
Cela me semble bizarre que ftp_get doive être sur un compte avec droit en écriture ou bien être l'auteur du fichier pour fonctionner.Quel est la permission des fichiers impactés ? (dans le cas où tu aurais une mauvaise interprétation des droits)
<?php
// Variables
$ftpip = "notreadresseFTP";
$user = "user";
$pass = "password";
$compte = "web";
$port = "21";
$fichier = 'dons.txt';
$fpdons = 'ftp://'.$user.':'.$pass.'@'.$ftpip.'/'.$compte.'/'.$fichier;
// Moteur
$conn_id = ftp_connect($ftpip);
$login_result = ftp_login($conn_id, $user, $pass);
// Debug
echo "Connecté en tant que : " . $user . "<br/>";
if ((!$conn_id) || (!$login_result)) {
echo "La connexion FTP a échouée !<br/>";
die;
}
//On fait la liste des fichier à lire
$buff = ftp_nlist($conn_id, $compte);
for ($i=0; $i<count($buff); $i++){
$serveur_file = $buff[$i];
// Tente de télécharger le fichier $serveur_file et de le sauvegarder dans le fichier $monmicro_file
$download = ftp_get($conn_id, $fichier, $serveur_file, FTP_ASCII);
if (!$download) {
echo "erreur au téléchargement";
}
else {
if (!$fp = fopen($fichier,"r")) {
$erreur = $erreur."non chargement <br/>";
}
else {
while (!feof($fp)) {
//On traite le fichier
echo "Test...";
}
}
}
}
?>
Peut-être cela vient-il de notre nouveau serveur FTP, hébergé sur un NAS Synology.
<?php
// Variables
$ftpip = "adresseserveurFTP";
$user = "user";
$pass = "pass";
$compte = "web";
$port = "21";
$fichier = 'dons.txt';
$fpdons = 'ftp://'.$user.':'.$pass.'@'.$ftpip.'/'.$compte.'/'.$fichier;
// Moteur
$conn_id = ftp_connect($ftpip);
$login_result = ftp_login($conn_id, $user, $pass);
// Debug
echo "Connecté en tant que : " . $user . "<br/>";
if ((!$conn_id) || (!$login_result)) {
echo "La connexion FTP a échouée !<br/>";
die;
}
//On fait la liste des fichier à lire
$buff = ftp_nlist($conn_id, $compte);
for ($i=0; $i<count($buff); $i++){
$serveur_file = $buff[$i];
// Tente de télécharger le fichier $serveur_file et de le sauvegarder dans le fichier $monmicro_file
$download = ftp_get($conn_id, $fichier, $serveur_file, FTP_ASCII);
if (!$download) {
echo "erreur au téléchargement";
}
else {
if (!$fp = fopen($fichier,"r")) {
$erreur = $erreur."non chargement <br/>";
}
else {
while (!feof($fp)) {
//On traite le fichier
echo "Test...";
}
}
}
}
// Fermeture de la connexion
ftp_close($conn_id);
?>
Cela ne change donc rien dans le cas présent...