无法将文件移动到网络共享文件夹

时间:2018-07-16 06:52:07

标签: php file-upload

我正在尝试将文件上传到共享文件夹,我有权在该文件夹中进行读取/写入(我可以在共享文件夹中创建一个文件夹)。但是当我提交表格时,我总是收到这些警告。我正在使用xampp本地服务器

  

警告:move_uploaded_file(\ 17.105.103.8 \ History \ TQ_Books \ 1.PDF):   无法打开流:中的无效参数   C:\ xampp \ htdocs \ bookshelfs \ app \ controllers \ Books.php在第144行

     

警告:move_uploaded_file():无法在C:\ xampp \ htdocs \ bookshelfs \ app中将'C:\ xampp \ tmp \ php10D7.tmp'移动到'\ 17.105.103.8 \ History \ TQ_Books \ 1.PDF' \ controllers \ Books.php,第144行

这是我的代码

$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\\';
$fileTarget = $targetDir . $filename;

if (move_uploaded_file($tmpFilename, $fileTarget)) {
     die("success, uploaded");
} else {
     die("not uploaded");
}

更新 我通过file_exists方法检查了文件路径,该文件路径不存在,并且还通过is_writeable方法检查了文件路径,其路径也为假。

2 个答案:

答案 0 :(得分:0)

尝试删除'\\',尝试将下面的行替换为您的代码

$targetDir = '\\\\17.105.103.8\\Qatar_History\\TQ_Books\\';

替换为下方

$targetDir = '\\17.105.103.8\Qatar_History\TQ_Books\';

答案 1 :(得分:0)

由于这是网络驱动器,因此您需要在执行代码之前确认是否已正确映射了该驱动器。将远程路径映射到本地驱动器后,该代码应该可以正常工作。通过使用代码,我相信您在Windows网络上。另外,请检查$ targetDir中\的用法。连接到网络路径的通常格式为\ Network IP \共享文件夹名称\