链接到仅使用文件名而没有空格的文件

时间:2014-02-09 21:51:38

标签: php mysql

我正在创建一个文档数据库(因此有几种文件.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;

因而无效。

1 个答案:

答案 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>";

用“引用”

包围地址