我正在创建一个文档数据库(因此有几种文件.pdf,.xlm,.ppt等..) 我决定在mysql中存储文件的路径,但是当我构建一个链接到它们以便下载所选文件时,它只有在文件名没有空格时才有效,如果是空格,链接只包含第一个单词:
<?php
$data = mysql_query("SELECT * FROM Documents") or die(mysql_error());
//Puts it into an array
while($info = mysql_fetch_array( $data ))
{
//Outputs the file data ad link to download the file:
Echo "<b>Protocol:</b> ".$info['Protocol'] . "<br> ";
Echo "Here DOC_POINTER =".$info['doc_pointer']."<br>";
Echo "<a href=http://localhost/VQ%20TESTs/DocUploaded/".$info['doc_pointer'].">Il Documento Relativo</a><br>";
Echo "<b>Name:</b> ".$info['doc_name'] . "<br> ";
Echo "<b>Type:</b> ".$info['doc_type'] . " <br>";
Echo "<b>Manager:</b> ".$info['doc_manager'] . " <hr>";
}
?>
如果文件被称为'123.pdf'一切正常,则名称正确打印“Here Doc_pointer = 123.pdf”并且链接转到
HTTP://mysite/VQ%20TESTs/DocUploaded/123.pdf>
如果该文件名为'Sales Chart.xlm',则打印输出的文件仍为“Here Doc_pointer = Sales Chart.xlm”,而链接仅为
的http:// mysite的/ VQ%20TESTs / DocUploaded /销售GT;
因而无效。
答案 0 :(得分:0)
您需要str_replace
上的$info['doc_pointer']
并将' '
替换为'%20'
str_replace(' ','%20',$info['doc_pointer'])
或者只是正确格式化你的href:
Echo "<a href=\"http://localhost/VQ%20TESTs/DocUploaded/".$info['doc_pointer']."\">Il Documento Relativo</a><br>";
用“引用”
包围地址