Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Général Conception Web
Général Conception Web Forum d'entraide sur les choix technologiques. Avant de poster : Cours Dév. Web, FAQs Dév. Web, Sources Dév. Web
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 11/04/2011, 16h05   #1
Membre du Club
 
Homme Jérémy Jarrié
Développeur Web
Inscription : juin 2007
Messages : 34
Détails du profil
Informations personnelles :
Nom : Homme Jérémy Jarrié
Âge : 22
Localisation : France, Gard (Languedoc Roussillon)

Informations professionnelles :
Activité : Développeur Web
Secteur : Communication - Médias

Informations forums :
Inscription : juin 2007
Messages : 34
Points : 54
Points : 54
Envoyer un message via MSN à Psycha Envoyer un message via Skype™ à Psycha
Par défaut Problème de transfert de fichier

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 :
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 :
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.
Psycha est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 00h53.


 
 
 
 
Partenaires

Hébergement Web