我目前正在构建像云一样的东西。 因此用户可以上传内容然后再次下载。 现在大多数工作正常,但我注意到文件中存在一个问题,其中包含"#"以他们的名义。
例如,文件名称可以是:" Double Color#2.jpg"
使用变量" $ placeoffile"我想直接链接到该文件。
我的代码如下所示:
<?php
if (is_dir($dir)){
if ($dh = opendir($dir)){
while (($file = readdir($dh)) !== false){
if($file != "." && $file != ".."){
$extension = pathinfo($file, PATHINFO_EXTENSION);
$size = filesize($dir.$file);
$placeoffile = $dir.$file;
echo("
<td><a href='$placeoffile'>filename: $file </a></td>
<td>$extension</td>
<td>$size</td>
<td>$placeoffile</td>
<tr>");
}
}
closedir($dh);
}
}
?>
我收到错误&#34;在此服务器上找不到双色。&#34;所以,在标签之后的所有内容都已从搜索中删除,因此它显然没有找到它。
尝试了htmlspecialchars和preg,但我不想重命名用户的文件,或者如果他们上传带有奇怪名称的文件,则会向他们显示错误消息。 我觉得有一个简单的解决方案,但我只是没有看到它。 有帮助吗?干杯:)