我如何更改这一行,以便下载名称中有空格的文件


How can I change this line so i will download files with spaces in the name

我正在尝试下载一个名称中有空格的文件。该脚本适用于没有空格的名称,但如果有空格则不适用。我理解为什么会发生这种情况,但不知道如何解决这个问题。我花了一天的大部分时间在网上搜索答案,但到目前为止运气不佳。这是我的问题。如何更改此文件以使其能够读取包含空格的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>"';

我把所有的引语都弄混了,放错了地方。