par
reMig28 » 04 janv. 2006, 15:46
Bon vraissemblablement, suite à un n-ième essai, ça ne vient pas de php5 (en opposition à php4)... Avec un essaie simple, ça fonctionne aussi...

désolé...
Cependant lorsque j'incorpore ce petit bout de code dans l'application, ça ne fonctionne plus... Voilà en gros le shéma :
J'appelle une page avec un identifiant de document. Je recherche le document correspondant. Pour ce document, j'appelle sa méthode "telecharger". Dans cette méthode, je fais les modification nécessaires sur un fichier, puis appelle une fonction statique "telecharger", dont voici le code :
class Header
{
/*
* Crée les header pour le téléchargement
*/
public static function Telecharger($filename, $nom, $extension, $header_application) {
if(!headers_sent() && file_exists($filename))
{
$fichier = realpath($filename);
$Nom = Chaine::Supprime_Accents(str_replace(" ", "_", $nom));
header('Content-Type: '.$header_application.'; name='.$Nom.'.'.$extension);
header('Content-Disposition: attachment; filename='.$Nom.'.'.$extension);
header('Pragma: public');
header("Cache-Control: no-cache, must-revalidate");
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($fichier));
flush();
readfile($fichier);
}
}
}
Je suis preneur de toutes vos idées. Parce que là tout seul, c'est plus de la brasse...
Bon vraissemblablement, suite à un n-ième essai, ça ne vient pas de php5 (en opposition à php4)... Avec un essaie simple, ça fonctionne aussi... :oops: désolé...
Cependant lorsque j'incorpore ce petit bout de code dans l'application, ça ne fonctionne plus... Voilà en gros le shéma :
J'appelle une page avec un identifiant de document. Je recherche le document correspondant. Pour ce document, j'appelle sa méthode "telecharger". Dans cette méthode, je fais les modification nécessaires sur un fichier, puis appelle une fonction statique "telecharger", dont voici le code :
[php]class Header
{
/*
* Crée les header pour le téléchargement
*/
public static function Telecharger($filename, $nom, $extension, $header_application) {
if(!headers_sent() && file_exists($filename))
{
$fichier = realpath($filename);
$Nom = Chaine::Supprime_Accents(str_replace(" ", "_", $nom));
header('Content-Type: '.$header_application.'; name='.$Nom.'.'.$extension);
header('Content-Disposition: attachment; filename='.$Nom.'.'.$extension);
header('Pragma: public');
header("Cache-Control: no-cache, must-revalidate");
header('Content-Transfer-Encoding: binary');
header('Content-Length: '.filesize($fichier));
flush();
readfile($fichier);
}
}
}[/php]
Je suis preneur de toutes vos idées. Parce que là tout seul, c'est plus de la brasse...