Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上载/下载本地主机目录文件夹导致找不到URL_Php_Local - Fatal编程技术网

Php 上载/下载本地主机目录文件夹导致找不到URL

Php 上载/下载本地主机目录文件夹导致找不到URL,php,local,Php,Local,我似乎在通过本地主机在浏览器中显示一个简单的PDF时遇到了一些问题 我使用PHP的“移动上传文件”到一个目录,这是工作良好 $_SERVER['DOCUMENT_ROOT'].'TM470/FileServer/EmployeeCorrespondence/' . $filename; 还可以调用Mysql来保存URL $sql = "INSERT INTO files (name, size, path) VALUES ('$filename', '$destination')&

我似乎在通过本地主机在浏览器中显示一个简单的PDF时遇到了一些问题

我使用PHP的“移动上传文件”到一个目录,这是工作良好

$_SERVER['DOCUMENT_ROOT'].'TM470/FileServer/EmployeeCorrespondence/' . $filename;
还可以调用Mysql来保存URL

 $sql = "INSERT INTO files (name, size, path) VALUES ('$filename', '$destination')";
对mysql的调用同样没有问题

当我从显示为HREF锚的MySQL中拉出URL时,URL位于下面,无法找到404 URL

http://localhost/Users/MyUserName/Sites/TM470/FileServer/EmployeeCorrespondence/drawing.pdf
如果我删除/Users/MyUserName/Sites部分,URL就可以正常工作

很明显,我遗漏了一些东西,但不确定是什么


我的服务器根目录在http.d配置中设置为DocumentRoot“/Users/MyUserName/Sites/”。这就是问题所在吗?我应该从站点位置开始吗?

是的,您的URL需要相对于文档根目录(实际上,更具体地说,它需要相对于显示链接的页面)。它不应该包括根目录,因为它是磁盘上的路径,而不是Web服务器将提供的URL。警告:您的代码易受SQL注入攻击。您应该使用参数化查询和准备好的语句来帮助防止攻击者使用恶意输入值破坏您的数据库。给出了风险的解释,以及如何使用PHP/mysqli安全地编写查询的一些示例。切勿将未初始化的数据直接插入SQL。现在编写代码的方式,有人很容易窃取、错误地更改甚至删除您的数据。Brill假设这就是正在发生的事情,是的,我将开始确保代码正常运行,我总是首先尝试让它正常工作。此外,这是一个项目,永远不会出现在实时系统中,但是,因为我需要确保完整性和安全性,这将是一个很大的审查部分。出于好奇,当使用移动文件上传时,我不能指定一个仅为绝对的相对路径,我如何解决这个问题?你是说移动文件上传?您不能,这会保存到磁盘,因此它需要一个绝对路径文件系统路径。这与浏览器通过Web服务器访问图像所需的URL不同。不要在头脑中混淆URL和文件系统路径。在某些情况下,它们可以在某种程度上相互映射,但并不总是如此。无论如何,请使用完整的文件系统路径进行保存,并使用相对路径在网页中生成链接。