Php 如何更改存储文件的路径
目前,我正在用PHP将PDF文件保存在项目根目录下的文件夹中,但在这种情况下,我需要将此位置更改为位于另一台服务器上的文件夹,该服务器与我正在运行项目的服务器不同 我分配当前路径以存储文件的方式如下:Php 如何更改存储文件的路径,php,upload,filepath,Php,Upload,Filepath,目前,我正在用PHP将PDF文件保存在项目根目录下的文件夹中,但在这种情况下,我需要将此位置更改为位于另一台服务器上的文件夹,该服务器与我正在运行项目的服务器不同 我分配当前路径以存储文件的方式如下: if($res['pdf']) { $file = $_FILES["pdfToUpload"]["name"]; $path ="PDF/"; if(!move_upload
if($res['pdf']) {
$file = $_FILES["pdfToUpload"]["name"];
$path ="PDF/";
if(!move_uploaded_file($_FILES["pdfToUpload"]["tmp_name"], $path . $file)) {
$res['pdf'] = false;
}
}
在变量Ipath
中,只需存储在项目根目录中的文件夹位置
我希望在另一台服务器上访问以存储文件的路径如下:
/SRVNAME/E:/newfolder/project/PDF/
我要澄清的是,在前面的路径中,我必须访问一个不同的单元,即E:
,在这个路径中,我尝试添加服务器的名称,但没有成功
尝试将相同的位置分配给变量path
,但文件未存储
我真的不知道文件是否可以存储在与项目不同的位置。共享名(文件路径)看起来不是这样的。如果它是一个Windows服务器,那么它就是一个,看起来更像这个//SRVNAME/newfolder/project/PDF/
此外,运行web服务器的用户需要对目录/共享具有适当的权限。据我所知,您有两个不同的服务器,一个运行应用程序,另一个存储文件。为此,您需要在需要上载文件的服务器中有一个文件上载脚本。在应用服务器上,您可以使用PHP CURL编写一个脚本来发送文件 为了便于参考,我发布了需要在应用程序脚本中执行的CURL操作
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, SECOND_SERVER_PATH);
curl_setopt($ch, CURLOPT_POSTFIELDS, $file);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60000);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_HOST']);
有关更多信息,您可以参考Shivani的答案,我无法测试这一点,但它似乎是
realpath(“/SRVNAME/E:/newfolder/project/PDF/”
将为您提供文件夹的绝对系统路径。其他服务器-意味着另一个硬盘连接到您的计算机?到另一个硬盘,而不是普通硬盘,即C:在我的情况下,它是驱动器E:和另一个服务器,我在那里运行项目一个常见的解决方案是将文件保存在本地,然后将其移动或复制到远程机器。实际移动它的方式取决于您的设置。你可以使用,FTP,CURL,…,但是你没有给我们足够的信息来说明“另一台服务器”的真正含义。