Aide formulaire d'upload afficher fichier

Résolu
marseillais -  
 marseillais -
Bonjour,
Voila j'ai fais un site d'upload.
mais quand le fichier est envoyé on voit seulement 'L'envoi a bien été éfféctué'
j'aimerais qu'il y ait un lien direct vers le fichier (images/uploads/fichierenquestion)

voila la fin de mon code:

move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
echo "L'envoi a bien été effectué, pour telecharger le fichier,retournez a l'index 'bibliothèque de telechargements'";
}
else
{
echo "Erreur lors de la copie du fichier,verifiez l'extension et/ou la taille du fichier.";
}
}
}
?>

Merci de votre aide par avance

4 réponses

Résumé de la discussion

La problématique porte sur afficher un lien direct vers le fichier téléchargé après l'envoi, au lieu d'un message générique, dans un script PHP qui gère l'upload. Des réponses proposent d’utiliser une balise <a href=""> pointant vers le chemin uploads/ ou images/uploads/, en remplaçant le nom temporaire par celui du fichier téléchargé pour obtenir un lien cliquable. Il ressort que $_FILES['monfichier']['tmp_name'] désigne le fichier temporaire et ne correspond pas au nom final, ce qui peut freiner l’accès direct au fichier. En pratique, la solution discutée consiste à construire le lien après le déplacement avec le nom réel du fichier et à vérifier l’emplacement dans uploads.</a>

Bobot (l'IA à votre service)
  1. Breub62 Messages postés 3452 Statut Membre 369
     
    echo "L'envoi a bien été effectué, pour telecharger le fichier : <a href='images/uploads/fichierenquestion'>cliquez ici</a>";
    0
  2. marseillais
     
    Ok merci je vais tester ça de suite
    0
  3. marseillais
     
    merci de ta reponse mais voila ce que ça fait:

    $infosfichier = pathinfo($_FILES['monfichier']['name']);
    $extension_upload = $infosfichier['extension'];
    $extensions_autorisees = array('zip', 'rar');
    if (in_array($extension_upload, $extensions_autorisees))
    {
    // On peut valider le fichier et le stocker définitivement
    move_uploaded_file($_FILES['monfichier']['tmp_name'], 'uploads/' . basename($_FILES['monfichier']['name']));
    echo "L'envoi a bien été effectué, pour telecharger le fichier : <a href='http://marseillaisup.0fees.net/images/uploads/monfichier'>cliquez ici</a>";
    }
    else
    {
    echo "Erreur lors de la copie du fichier,verifiez l'extension et/ou la taille du fichier.";
    }
    }
    }
    ?>

    j'ai bien mis ça mais voila çe que ca fait une fois sur le site

    il m'envoie sur ce lien http://marseillaisup.0fees.net/images/uploads/monfichier'
    0
    1. Breub62 Messages postés 3452 Statut Membre 369
       
      Et si tu ne met que
      <a href='images/uploads/monfichier'>
      ?
      0
  4. marseillais
     
    Non toujours pas la il m'envoie vers images/uploads/monfichier dans la barre d'adresse

    merci quand meme
    0
    1. Breub62 Messages postés 3452 Statut Membre 369
       
      <a href='./images/uploads/monfichier'>
      ?
      0
    2. marseillais
       
      je teste...
      0
    3. marseillais
       
      non ça me met './images/uploads/monfichier'
      0
    4. Breub62 Messages postés 3452 Statut Membre 369
       
      La racine de ton site est bien : http://marseillaisup.0fees.net?
      Ton fichier uploadé l'est bien dans le fichier images/uploads?
      Tu n'as pas de restriction sur le dossier d'upload (type .htaccess)?
      Si c'est le cas, je ne vois pas trop de soucis...
      0
    5. marseillais
       
      oui c'est bien la racine et il n'y a pas de restrictions de ce coté la
      merci de ton aide je ne vois pas ce qui plante
      0