Ouverture de lien

Fermé
steph2611 Messages postés 208 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 24 août 2018 - 10 août 2011 à 10:32
steph2611 Messages postés 208 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 24 août 2018 - 10 août 2011 à 13:48
Bonjour,

j'ai récuperé un script qui compte les telechargement sur un site intranet de mon boulot.

quand je clique sur le lien de téléchargement, il m'ouvre le fichier en pdf, dans la même fenetre.
Je souhaiterais qu'il l'ouvre dans un nouvel onglet ou qu'il me propose "ouvrir" "télécharger" ou annuler (comme un téléchargement normal) mais ca ne marhce pas ...

voici le script php :

<?php

$folder_stat = 'download/stat/' ; // répertoire dans lequel seront stockées les statistiques
$folder_archive = 'download/doc_admin/' ; // répertoire des téléchargements

if ( isset( $_GET['file'] ) ) // si le visiteur veut télécharger un fichier
{
$name = htmlentities($_GET['file'], ENT_QUOTES); // sécurisation de la variable

if ( file_exists( $folder_stat . $name . '.txt' ) ) // si le fichier existe
{
$FileContent = fopen( $folder_stat . $name . '.txt', 'r+' ); // ouverture du fichier statistique contenant le nombre de hits

$hit = fgets( $FileContent ); // récupération de la valeur
$hit = intval( $hit ); // on vérifie qu'il s'agisse bien d'un nombre
$hit++; // ajout de 1 au nombre de hits

fseek( $FileContent, 0 ); // réinitialisation du curseur
fputs( $FileContent, $hit ); // écriture dans le fichier

fclose( $FileContent ); // fermeture du fichier

header( "Location: $folder_archive$name" ); // redirection vers le téléchargement
}
}

function NumberOfHit( $name ) // création de la fonction NumberOfHit
{
$folder_stat = 'download/stat/' ; // répertoire dans lequel seront stockées les statistiques
$file = $folder_stat . $name . '.txt' ; // nom du fichier de statistiques contenant le nombre de hits

if ( file_exists( $file ) ) // si le fichier existe
{
$FileContent = fopen( $file , 'r' ); // ouverture du fichier

$hit = fgets( $FileContent ); // récupération de la valeur
fclose( $FileContent ); // fermeture du fichier

return $hit; // retour de la valeur de $hit
}
else // si le fichier n'existe pas
{
touch( $file ); // création du fichier

$FileContent = fopen( $file , 'r+' ); // ouverture du fichier

fseek( $FileContent, 0 ); // réinitialisation du curseur
fputs( $FileContent, 0 ); // écriture dans le fichier

fclose( $FileContent ); // fermeture du fichier
}
}

?>

<html>

<head>
<title>HitCounter</title>
<style type="text/css">
* {
font-family: Verdana, Arial, serif;
font-size: 11px;
}
</style>
</head>

<body>
<?php

$name = 'mon fichier.pdf' ; // nom du fichier (et de l'archive)
$result = NumberOfHit( $name ) ; // récupération du nombre de hits pour le nom concerné

echo '
<h3>' . $name . '</h3>

<p>
<a href="?file=' . $name . '">
<img src="http://monsite.com/counter/download/img/telecharger.gif" </a>
<a style="text-decoration:none;"><a:hover style ="font-style:italic; color:blue;"> <br/>
<br>Nombre de Téléchargements : ' . $result . '
</p>
';

?>
</body>

</html>


MERCI DE VOTRE AIDE !!


2 réponses

pitxu Messages postés 689 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 25 mars 2015 94
10 août 2011 à 12:13
Bonjour,

il faut forcer le téléchargement en pdf.

ex :

$file = "document.pdf";
        
header("Content-Type: application/pdf");
header("Content-Length: ".filesize($file));
header("Content-Disposition: attachment; filename=".$file);
header("Location:".$file);
0
steph2611 Messages postés 208 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 24 août 2018 31
10 août 2011 à 13:48
Ok je vais essayer, mais je mets ca à quel niveau dans le code ??

merci
0