我的惯例是,每当我使用图片时,我都会给它们命名,比如 walls_ico
、bu_hover
。
因此,当我设置路径时,它们看起来像这样:
<img src="images/walls_ico.ico" />
<img src="buttons/bu_hover.png" />
直到现在,我正在处理一个用户上传文件的项目...
我在想,文件和文件夹名称之间是否可以有空格,例如
<img src="buttons/bu hover.png" />
我的惯例是,每当我使用图片时,我都会给它们命名,比如 walls_ico
、bu_hover
。
因此,当我设置路径时,它们看起来像这样:
<img src="images/walls_ico.ico" />
<img src="buttons/bu_hover.png" />
直到现在,我正在处理一个用户上传文件的项目...
我在想,文件和文件夹名称之间是否可以有空格,例如
<img src="buttons/bu hover.png" />
src="buttons/bu+hover.png"
是有效的。根据这个答案和这个答案,在URL中只有在查询字符串部分,将空格编码为+
才是有效的。此外,在我刚刚进行的测试中,当我尝试访问文件名中的空格被(不适当地)编码为+
字符时,IE和Firefox都返回404错误。 - DavidRR引用HTML5支持Frederic的观点,即不允许使用空格:
http://www.w3.org/TR/html5/links.html#attr-hyperlink-href:
a和area元素上的href属性必须具有一个值,该值是一个可能被空格包围的有效URL。
“有效URL”的定义指向:http://url.spec.whatwg.org,该网站定义了URL代码点https://url.spec.whatwg.org/#url-code-points:
URL代码点是ASCII字母数字字符、“!”, “$”, "&", "'", "(", ")", "*", "+", ",", "-", ".", "/", ":", ";", "=", "?", "@", "_", "~", 以及范围在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的代码点。
然后规范在解析算法的各个部分使用“URL代码点”这个术语:
如果c不是EOF代码点,也不是URL代码点,且不是“%”,则解析错误。
对于方案、授权、相对路径、查询状态和片段状态:整个URL都要用到URL代码点。
如果您正在使用PHP
请查找以下代码
$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);
<body>
<img src="file:///C|/Documents and Settings/All Users/Documents/My Pictures/Sample Pictures/Water lilies.jpg"
</body>
只有在本地主机上工作时才允许使用空格