php – 在网络驱动器上读取文件

前端之家收集整理的这篇文章主要介绍了php – 在网络驱动器上读取文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在 Windows Server上运行Xampp; Apache作为具有本地帐户的服务运行.
在此服务器上,网络共享作为X:安装,具有特定凭据.

我想访问位于X上的文件:并运行以下代码

<?PHP
echo shell_exec("whoami");
fopen('X:\\text.txt',"r");
?>

得到

theservername\thelocaluser
Warning: fopen(X:\text.txt) [function.fopen]: Failed to open stream: No such file or directory

我尝试运行Apache,而不是作为服务,而是通过启动httpd.exe直接运行…
并且代码有效.

我看不出是什么导致服务和应用程序之间的区别以及如何使它工作.

您无法使用驱动器号执行此操作,因为网络映射驱动器仅供单个用户使用,因此服务无法使用(即使您要为该用户安装它).

你可以做的是直接使用UNC路径,例如:

fopen('\\\\server\\share\\text.txt','r');

但请注意,对于UNC路径的PHP文件系统访问存在一些问题.一个例子是bug I filed for imagettftext,但是file_exists和is_writeable也存在问题.我没有报道后者,因为你可以从我对imagettftext的长期未知错误中看到,重点是什么.

猜你在找的PHP相关文章