Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.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 如何更改存储文件的路径_Php_Upload_Filepath - Fatal编程技术网

Php 如何更改存储文件的路径

Php 如何更改存储文件的路径,php,upload,filepath,Php,Upload,Filepath,目前,我正在用PHP将PDF文件保存在项目根目录下的文件夹中,但在这种情况下,我需要将此位置更改为位于另一台服务器上的文件夹,该服务器与我正在运行项目的服务器不同 我分配当前路径以存储文件的方式如下: if($res['pdf']) { $file = $_FILES["pdfToUpload"]["name"]; $path ="PDF/"; if(!move_upload

目前,我正在用PHP将PDF文件保存在项目根目录下的文件夹中,但在这种情况下,我需要将此位置更改为位于另一台服务器上的文件夹,该服务器与我正在运行项目的服务器不同

我分配当前路径以存储文件的方式如下:

if($res['pdf']) {
          $file = $_FILES["pdfToUpload"]["name"];
          $path ="PDF/";

          if(!move_uploaded_file($_FILES["pdfToUpload"]["tmp_name"], $path . $file)) {
             
              $res['pdf'] = false;
          }          
      }
在变量I
path
中,只需存储在项目根目录中的文件夹位置

我希望在另一台服务器上访问以存储文件的路径如下:

/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,…,但是你没有给我们足够的信息来说明“另一台服务器”的真正含义。