Salut,
1/ J'espère que pour tes requêtes tu prends modèle sur du code assez récent. En effet l'extension mysql est dépréciée (c'est écrit dans toutes les fonctions mysql), il est recommandé d'utiliser PDO. Cela te servira aussi plus tard si tu continues à faire du php.
2/ Pour que le lien fonctionne dans le href il faut mettre le chemin avec le dossier dans lequel il est stocké (je suppose que les fichiers ne sont pas en vrac à la racine du site) relatif à l'emplacement du script en cours. Si ton script est à la racine du site et que tu stocke dans un dossier nommé PDF ce sera donc
<a href="<? echo 'PDF/'.$nom; ?>">Cours</a>
3/ Ton script d'upload fonctionne mais il est très minimaliste. Cela peut suffire s'il s'agit d'un exercice mais en production il y aurait plus de code à développer.
- Il faudrait vérifier et éventuellement renommer les fichiers avant l'upload car la présence de caractères spéciaux ou espacements dans le nom pourrait poser des problème.
- Si tu ne fais aucune vérification sur l'existence de fichiers déjà existants, les nouveaux fichiers écraseront les anciens sans préavis en cas de doublons.
- En cas de dépassement de la configuration "post_max_size" du serveur les super globales $_POST et $_FILE seront vides si bien que ton test sur les variables $_FILE ne sera pas valide. On peut gérer ce problème en passant une variable $_GET dans l'attribut action du formulaire d'upload. Ensuite il suffit de faire le test :
if(isset($_GET["form_upload"]) && empty($_POST)) {// dépassement post_max_size}
pour intercepter l'erreur sinon la plupart du temps on se retrouve devant un écran blanc.
Si ensuite tu ne veux pas simplement gérer l'erreur mais pouvoir surpasser la configuration serveur pour permettre l'upload de plus gros fichiers et/ou un upload multiple sans limites (excepté celles que tu définirais toi-même) tu peux regarder la première solution d'upload dans l'ardoise sous mon pseudo.
Partager