-1

我正在尝试使用移动功能编写创建文件。Android 应用正在调用 API 并发送图像文件。但在服务器端,我收到“无法在 \xxxx\test 文件夹中写入文件。

下面的代码片段来自用 larvael 编写的生产服务器。

 $file_upload = $file_name->move(env('SHARE_PATH'),$old_filename);

我现在正在尝试使用核心 php 函数测试共享文件夹访问。当我使用 fopen 编写文件时,我得到了成功。但是当我使用 is_readable 函数时,它返回“False”而不是“True”。

error_reporting(E_ALL);
$dir = "\\\\x.x.x.x\\transitory";
if(is_readable('\\\\x.x.x.x\\transitory\\')) {
  var_dump("$old_filename is readable");
} else {
  var_dump("$old_filename is not readable");
}
if(is_writable('\\\\x.x.x.x\\transitory\\')) {
  var_dump("$old_filename is writable");
} else {
  var_dump("$old_filename is not writable");
}
if (is_dir($dir)) 
{
    if ($dh = opendir($dir))        
        print "able to access directory tree.";  

        $myfile = fopen($dir."\\newfile1.txt", "w") or die("Unable to open file!");
        $txt = "John Doe\n";
        fwrite($myfile, $txt);
        $txt = "Jane Doe\n";
        fwrite($myfile, $txt);
        fclose($myfile);     
        }
else {   print "not access tree.";}

输出

string(16) " is not readable"
string(16) " is not writable"
string(13) "readdir false"
able to access directory tree.

预期结果.. 上述代码应返回 True 并希望将文件从临时文件夹移动到共享文件夹。

编辑 -

它在 IIS 服务器上运行,并且服务器可以访问此共享文件夹

4

1 回答 1

-1

我在测试的时候,应用程序一开始无法读写,甚至fopen也无法成功执行。最终我发现问题出在临时文件夹上。

最初我只设置了磁盘共享,但没有设置临时磁盘。我认为共享权限会被继承,但不是。因此,当我设置临时共享并添加用户的完全控制权限时,一切正常。

右键临时文件夹->属性->共享->高级共享->勾选共享此文件夹->权限

在此处输入图像描述

有效!

在此处输入图像描述

于 2021-01-05T03:56:35.100 回答