il a toujours été ma pratique que lorsque j'utilise des images, je les nomme comme walls_ico
, bu_hover
donc quand je donne des chemins ils vont comme
<img src="images/walls_ico.ico" />
<img src="buttons/bu_hover.png" />
JUSQU'À MAINTENANT quand je suis sur un projet où les utilisateurs téléchargent des fichiers ...
je me demandais est-il correct d'avoir des espaces entre le nom du fichier et des dossiers comme
<img src="buttons/bu hover.png" />
L'attribut src
doit contenir un RL valide . Puisque les espaces ne sont pas autorisés dans les URL, vous devez les encoder .
Tu peux écrire:
<img src="buttons/bu%20hover.png" />
Mais pas :
<img src="buttons/bu+hover.png" />
Parce que, comme DavidRR le fait remarquer à juste titre dans son commentaire, le codage des caractères d'espace comme +
n'est valide que dans la partie chaîne de requête d'une URL, pas dans le chemin lui-même.
Citant HTML5 pour soutenir Frédéric que les espaces ne sont pas autorisés:
http://www.w3.org/TR/html5/links.html#attr-hyperlink-href :
L'attribut href sur les éléments a et area doit avoir une valeur qui est une URL valide potentiellement entourée d'espaces.
La définition de "URL valide" pointe vers: http://url.spec.whatwg.org qui définit les points de code URL https://url.spec.whatwg.org/# url-code-points :
Les points de code URL sont ASCII alphanumérique, "!", "$", "&", "'", "(", ")", "*", "+", " , "," - ",". ","/",": ","; "," = ","? "," @ "," _ "," ~ "et les points de code dans les plages U + 00A0 à U + D7FF, U + E000 à U + FDCF, U + FDF0 à U + FFFD, U + 10000 à U + 1FFFD, U + 20000 à U + 2FFFD, U + 30000 à U + 3FFFD, U + 40000 à U + 4FFFD, U + 50000 à U + 5FFFD, U + 60000 à U + 6FFFD, U + 70000 à U + 7FFFD, U + 80000 à U + 8FFFD, U + 90000 à U + 9FFFD, U + A0000 à U + AFFFD, U + B0000 à U + BFFFD, U + C0000 à U + CFFFD, U + D0000 à U + DFFFD, U + E1000 à U + EFFFD, U + F0000 à U + FFFFD, U + 100000 à U + 10FFFD .
La spécification utilise ensuite le terme points de code URL sur diverses parties de l'algorithme d'analyse comme:
Si c n'est pas le point de code EOF, pas un point de code URL et pas "%", erreur d'analyse.
pour le schéma, l'autorité, le chemin relatif, l'état de la requête et les états des fragments: donc l'URL entière.
Si vous utilisez PHP
puis découvrez ce code
$result = mysqli_query($con,$sql);
//echo $ip."<br />";REGEXP
//echo $name."<br />";
echo "<table border=2px style='border-radius=20px;' align=center><tr>
<th>Document ID</th>
<th>Document Name Type</th>
<th>Download Documents</th>
</tr>";//<th>Project Document Type</th>
while($row = mysqli_fetch_array($result)) {
$path1=$row['FOLDERNAME'] .'/'. $row['FILENAME'] .'.'. $row['DOCTYPE'];
$path=str_replace(" ", '%20', $path1);
echo "<tr>";
echo "<td>" . $row['DocID'] . "</td>";
// echo "<td>" . $row['PROJDOCTYPE'] . "</td>";Thank you. Your Apple ID is now ready for use.
echo "<td>" . $row['DOCNAME'] . "</td>";
echo '<td><a href=Tender/'.$path.'>'.$row['DOCNAME'].'</a></td>';
echo "</tr>";
}
echo "</table>";
mysqli_close($con);