Upload/Download PHP

Résolu
Gardeboue Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -  
Gardeboue Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   -
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. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    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
    1. Gardeboue Messages postés 49 Date d'inscription   Statut Membre Dernière intervention   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
      0