我正在尝试下载一个名称中有空格的文件。该脚本适用于没有空格的名称,但如果有空格则不适用。我理解为什么会发生这种情况,但不知道如何解决这个问题。我花了一天的大部分时间在网上搜索答案,但到目前为止运气不佳。这是我的问题。如何更改此文件以使其能够读取包含空格的How名称。
echo"<a href=http://www.site.com/uploads/".$row['att'] ." download=".$row['att'].">Download attachment</a>";
您需要引用属性。此外,由于它将进入html,因此应该对其进行转义。
echo '<a href="' . htmlspecialchars($url) . '">Link</a>';
HTML属性需要引号。否则,它们由空格分隔。
echo "<a href='"http://......../'">Download</a>";
或者,您可以将其正确编码为%20
,但仍然要在属性周围加引号。。。
我不确定"下载"属性是用来做什么的,但您应该研究urlencode和htmlspecialchars:
echo '<a href="http://www.site.com/uploads/'. urlencode($row['att']) .'" download="'.urlencode($row['att']).'">Download attachment</a>";
感谢您的回答,大家现在都工作得很好。可供参考的是它前后的样子。
之前
echo"<a href=http://www.site.com/uploads/".$row['att'] ." download=".$row['att'].">Download attachment</a>";
之后
echo'<a href="http://www.sire.com/uploads/'.$row['att'] .'" download="'.$row['att'].'">Download attachment</a>"';
我把所有的引语都弄混了,放错了地方。