Bonjour,
J'ai un script qui marchait très bien jusqu'à peu.
Il permet de copier des photos depuis un site vers un dossier spécifique d'un site hébergé chez OVH.
OK, il n'est pas très propre, mais il marchait bien :
Depuis janvier 2016, j'avais régulièrement des photos qui manquaient à l'appel.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 echo "Ouverture du fichier $fichier <br />\n"; $fichierouvert = fopen ($fichier_source, "r"); $contenu =""; while (!feof($fichierouvert)) { $contenu .= fread($fichierouvert, 8192); } fclose ($fichierouvert); $fichierouvert = fopen ($fichier_cible, "w+"); if ( !fwrite($fichierouvert, $contenu)) { echo "Impossible d'?crire dans le fichier ($filename)"; exit; } fclose ($fichierouvert);
Je devais relancer le script plusieurs fois pour qu'elles arrivent toutes (500 photos max et 100-110ko par photo).
A l'occasion de la mise à jour de mes divers scripts php (pour compatibilité php 5.6), j'ai réécris le script :
Et systématiquement, il arrive à copier 49 fichiers et à partir du 50ème, la copie échoue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 if (!copy($valeur, $fichier_cible)) { echo "La copie $valeur du fichier a échoué..."."<br />\n"; } else { echo "La copie $valeur du fichier a réussi..."."<br />\n"; }
J'ai alors éssayé de passer par Curl :
Même résultat : uniquement les 49 premiers fichiers qui arrivent correctement. Les autres, ils font tous 0ko
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 $ch = curl_init($valeur); $fp = fopen($fichier_cible, 'wb'); curl_setopt($ch, CURLOPT_FILE, $fp); curl_setopt($ch, CURLOPT_HEADER, 0); curl_exec($ch); curl_close($ch); fclose($fp);
Quelqu'un aurait-il une idée ?
Configuration :
Offre OVH-Mediaplan
PHP 5.6.17
Espace disque : 3.56 Go / 22 Go
Traffic utilisé : 2.14 Go / 1.6 To
Merci d'avance.
Partager