Php 链接到仅使用文件名而不使用空格的文件
我正在创建一个文档数据库(因此有几种文件.pdf、.xlm、.ppt等) 我决定将文件的路径存储在mysql中,但当我构建指向它们的链接以下载所选文件时,只有当文件名没有空格时,该链接才起作用,如果是空格,则该链接仅包含第一个单词:Php 链接到仅使用文件名而不使用空格的文件,php,mysql,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_fetc
<?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\u pointer=Sales Chart.xlm”,而链接仅为
http://mysite/VQ%20TESTs/DocUploaded/Sales>
因此不起作用。您需要在
$info['doc\u pointer']
上用'%20'替换'
str_replace(' ','%20',$info['doc_pointer'])
或者只需正确设置a href的格式:
Echo "<a href=\"http://localhost/VQ%20TESTs/DocUploaded/".$info['doc_pointer']."\">Il Documento Relativo</a><br>";
Echo“
”;
通过用“引号”包围地址,url\u encode用+替换了空格,但还不能工作,但我在相关文档中找到了原始url\u encode,它可以工作。