【发布时间】:2019-01-15 10:55:35
【问题描述】:
我正在尝试将文件上传到办公室网络共享文件夹,我有权访问我的用户帐户访问共享文件夹,我使用 UNC 路径直接通过 move_upload_file 函数上传文件,它不起作用我收到此错误。
警告:move_uploaded_file(\\17.105.103.8\History\TQ_Books\1.PDF):无法打开流:C:\xampp\htdocs\bookshelfs\app\controllers\Books.php 第 144 行中的参数无效
经过一番搜索,我在我的电脑上安装了该共享文件夹,我直接使用该安装的驱动器名称上传文件,然后我收到此错误
警告:move_uploaded_file(Z:\30.PDF):打开流失败:C:\xampp\htdocs\bookshelfs\app\controllers\Books.php 中没有这样的文件或目录在第 437 行
我不明白它有什么问题,如何解决这个问题?我需要对 apache 服务进行一些配置吗?我正在尝试 SMP 协议,但对我来说很难理解。
更新
$bookExt = pathinfo($_FILES['select_book']['name'], PATHINFO_EXTENSION);
$filename = ltrim($_POST['book_no'], '0') . '.' . $bookExt;
$tmpFilename = $_FILES['select_book']['tmp_name'];
$targetDir = '\\\\17.105.103.8\\History\\TQ_Books\\'; //before mount'
$targetDir = 'Z:'; //after mount
$fileTarget = $targetDir . $filename;
if (move_uploaded_file($tmpFilename, $fileTarget)) {
die("success, uploaded");
} else {
die("not uploaded");
}
【问题讨论】:
-
请出示相关代码
-
不确定,但这篇文章可能会有所帮助? awesometoast.com/php-and-mapped-network-drives
-
基本上,当您将驱动器映射到 Windows 时,它是基于“每个用户”的。 Apache 没有使用与您相同的用户,因此驱动器未映射到 Apache。