Upload/Download PHP

Résolu
Bonjour à tous,
Je mets en place un petit espace d'échange de fichier sur un site, tout fonctionne mais j'ai juste un petit soucis que je n'arrive pas à contourner.
Lors du téléchargement du fichier, je me retrouve avec le nom du répertoire ou est stocké le fichier sur le serveur (upload) en préfixe de son nom d'origine ce qui me déplait fortement.
voici mon html
<form method="post" action="telechargement.php">
<select name="listeDir">

<?php
$rep ='upload/';
if (!is_dir ($rep)) {
    echo 'Erreur, ', $dir,' n\'est pas un repertoire valide';
    exit;
}
$dir = opendir ($rep);
        while (false !== ($fichier = readdir ($dir))) {
            if ($fichier !== '..' && $fichier !== '.') {
                echo '<option value="',$fichier,'">',$fichier,'</option>';
            }
        }
?>

</select>
<form method="post" action="telechargement.php">
<input type="submit" name="telecharger" value="telecharger le fichier" />
<input type="submit" name="supprimer" value="supprimer le fichier" onclick="if(window.confirm('Voulez-vous vraiment supprimer le fichier?')){return true;}else{return false;}"/>


</form>


et mon php

<?php
$file = 'upload/'.$_POST['listeDir'];
if (isset($_POST['telecharger'])) {
if (file_exists($file)) {
echo "Le fichier $file existe.";
} else {
echo "Le fichier $file n'existe pas.";
}
header('Content-type: application/pdf');
header('Content-Disposition: attachment; filename='.$file);
readfile($file);
}
elseif  (isset($_POST['supprimer'])) {

  @unlink( $file ) ;
}

?>


Voilà, à votre bon cœur les amis pour me débarrasser de çà.

1 réponse

  1. Modérateur
    Bonjour

    
    header('Content-Disposition: attachment; filename='.$file);
    readfile($file);
    

    Dans la première ligne tu dois mettre le nom du fichier uniquement..
    Dans la seconde... Son chemin avec son nom.
    1. Réponse aussi rapide qu'efficace, çà marche
      Merci à toi
      J'ai un autre soucis au niveau de la vérification si le fichier existe déjà avant l'upload mais je ferais un autre post
      Merci encore