Bonjour, je poste sur le général car le problème peut venir de plusieurs sources différentes (les fichier, le serveur, la config du serveur, php ...).

Sur une des boutiques en ligne de mes employeurs, les fichiers téléchargés par le client sont signalés comme corrompus, après test en local et sur en ligne, le problème est là, j'ai voulu vérifier l'intégrité des fichiers en les récupérant via ftp, aucun souci la première fois, j'ai ensuite vérifier en mettant manuellement le type de transfert, en ascii les fichiers sont corrompus comme au téléchargement, en binaire aucun souci le fichier est bon, la fonction filesize() de php me sort une taille qui ne correspond pas à la taille des fichiers sur le serveur, mais correspondant bien au poids final récupéré.

Le serveur local est un Wamp 2.0, celui en ligne c'est une gentoo dédié ovh, la configuration est classique (et un peu vieille : apache 2.0.59, php 5.2.5), la config apache est classique aussi, le bout de code php utilisé est le suivant (le contenu des variables est bon) :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
/* Set headers for download */
header('Content-Transfer-Encoding: binary');
header('Content-Type: '.$mimeType);
header('Content-Length: '.filesize($file));
header('Content-Disposition: attachment; filename="'.$filename.'"');
ob_end_flush();
$fp = fopen($file, 'rb');
while (!feof($fp))
	echo fgets($fp, 16384);
 
exit;

Testé aussi avec un bout de code que j'utilise sur un autre site avec succès :

Code php : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
header("Content-disposition: attachment; filename=\"$filename\"");
	header("Content-Type: application/force-download");
	header("Content-Transfer-Encoding: $mimeType\n");
	header("Content-Length: " . filesize($file) . "");
	header("Pragma: no-cache");
	header("Cache-Control: must-revalidate, post-check=0, pre-check=0, public");
	header("Expires: 0");
	readfile($file);

J'ai testé en commentant tour a tour les header de type, d'encodage et de taille, toujours le même problème avec n'importe quelle des combinaisons.

Je pense que le souci vient des fichiers, mais je sèche complètement.

Merci à qui aura le courage de se pencher sur mon problème et de m'aider.