Ouverture de lien

steph2611 Messages postés 208 Date d'inscription   Statut Membre Dernière intervention   -  
steph2611 Messages postés 208 Date d'inscription   Statut Membre Dernière intervention   -
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   Statut Membre Dernière intervention   95
 
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   Statut Membre Dernière intervention   31
 
Ok je vais essayer, mais je mets ca à quel niveau dans le code ??

merci
0