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 :

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);
Depuis janvier 2016, j'avais régulièrement des photos qui manquaient à l'appel.
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 :
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";
}
Et systématiquement, il arrive à copier 49 fichiers et à partir du 50ème, la copie échoue.

J'ai alors éssayé de passer par Curl :
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);
Même résultat : uniquement les 49 premiers fichiers qui arrivent correctement. Les autres, ils font tous 0ko

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.