Php 在共享文件夹中写入或移动文件
我正在尝试使用move函数编写和创建一个文件。Android应用程序正在调用API并发送图像文件。但在服务器端,我发现“无法在\x.x.x.x\test文件夹中写入文件” 下面的代码片段来自于用Jubeel编写的生产服务器Php 在共享文件夹中写入或移动文件,php,laravel,iis,file-move,Php,Laravel,Iis,File Move,我正在尝试使用move函数编写和创建一个文件。Android应用程序正在调用API并发送图像文件。但在服务器端,我发现“无法在\x.x.x.x\test文件夹中写入文件” 下面的代码片段来自于用Jubeel编写的生产服务器 $file_upload = $file_name->move(env('SHARE_PATH'),$old_filename); 我现在尝试使用核心php函数测试共享文件夹访问。当我使用fopen编写文件时,我获得了成功。但是当我使用is_readable函数时,
$file_upload = $file_name->move(env('SHARE_PATH'),$old_filename);
我现在尝试使用核心php函数测试共享文件夹访问。当我使用fopen编写文件时,我获得了成功。但是当我使用is_readable函数时,它返回“False”而不是“True”
输出
预期结果。。
上面的代码应该返回True,并希望将文件从临时文件夹移动到共享文件夹
编辑--
它在IIS服务器上运行,服务器可以访问此共享文件夹当我进行测试时,应用程序起初无法读取或写入,甚至fopen也无法成功执行。最终我发现问题在于临时文件夹 最初我只设置了磁盘共享,但没有在磁盘中设置临时权限。我认为共享权限会被继承,但不会。因此,当我设置临时共享并添加用户的完全控制权限时,一切正常 右键单击临时文件夹->属性->共享->高级共享->选中共享此文件夹->权限 成功了
您是否告诉Apache允许它访问
“\\\\x.x.x\\transitory“
如果没有,请在Apache手册中查找别名并将其添加到您的虚拟主机@它托管在IIS服务器上,并且服务器可以访问此共享文件夹。我可以使用fopen函数写入文件,但move函数和is_readable函数返回false
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.