如何更改此行,以便下载名称中包含空格的文件

时间:2013-11-19 22:27:37

标签: php

我正在尝试下载名称中包含空格的文件。该脚本适用于没有空格的名称,但如果有空格则不行。我理解为什么会这样,但不知道如何解决这个问题。到目前为止,我已经花了一天的时间在网上寻找答案。 所以这是我的问题。如何更改此文件以使其能够读取包含空格的名称。

echo"<a href=http://www.site.com/uploads/".$row['att'] ." download=".$row['att'].">Download attachment</a>";   

4 个答案:

答案 0 :(得分:3)

您需要引用该属性。此外,因为它进入html,它应该被转义。

echo '<a href="' . htmlspecialchars($url) . '">Link</a>';

答案 1 :(得分:2)

HTML属性需要引用。否则它们会被空间划分。

echo "<a href=\"http://......../\">Download</a>";

或者,您可以将其正确编码为%20,但仍然可以在您的属性周围添加引号...

答案 2 :(得分:0)

我不确定“下载”属性的用途,但您应该查看urlencodehtmlspecialchars

echo '<a href="http://www.site.com/uploads/'. urlencode($row['att']) .'" download="'.urlencode($row['att']).'">Download attachment</a>";

答案 3 :(得分:0)

感谢大家现在工作得很好的答案。 这里的参考是它之前和之后的样子。

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>"';

我把报价全部混淆在错误的地方。