如何更改我存储文件的路径
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/
。
此外,网络服务器 运行 的用户需要 directory/share.
的适当权限
据我了解,您有两台不同的服务器,一台 运行 应用程序,另一台存储文件。为此,您需要在需要上传文件的服务器中有一个文件上传脚本。从应用程序服务器,您使用 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/");
会为您提供该文件夹的绝对系统路径。
目前我将 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/
。
此外,网络服务器 运行 的用户需要 directory/share.
的适当权限据我了解,您有两台不同的服务器,一台 运行 应用程序,另一台存储文件。为此,您需要在需要上传文件的服务器中有一个文件上传脚本。从应用程序服务器,您使用 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/");
会为您提供该文件夹的绝对系统路径。