繁体   English   中英

如何更改存储文件的路径

[英]How to change the path where I store my files

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

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

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 服务器,它是一个UNC ,它看起来更像这样//SRVNAME/newfolder/project/PDF/

此外,web 服务器正在运行的用户将需要对目录/共享的适当权限。

我无法对此进行测试,但它看起来像realpath("/SRVNAME/E:/newfolder/project/PDF/"); 会给你文件夹的绝对系统路径。

据我了解,您有两台不同的服务器,一台运行应用程序,另一台正在存储文件。 为此,您需要在需要上传文件的服务器中有一个文件上传脚本。 在应用程序服务器中,您使用 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 的回答

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM