【问题标题】:unable to move files to network share folder无法将文件移动到网络共享文件夹
【发布时间】:2018-08-08 15:41:44
【问题描述】:

我正在尝试将文件上传到共享文件夹中,我有权在该文件夹中读/写(我可以在我的共享文件夹中创建一个文件夹)。但是当我提交表单时,我总是会收到这些警告。我正在使用 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\tmp\php10D7.tmp”移动到 C:\xampp\htdocs\bookshelfs\app 中的“\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 方法检查,它也给出了 false

【问题讨论】:

  • 我认为为了将文件移动到远程目录,您应该尝试某种 FTP 访问(或 FTP 功能)
  • 我真的不知道你在说什么伙计,请帮帮我
  • @PavelJanicek 我的文件夹本地共享文件夹通过局域网连接,我还需要 ftp 吗?
  • 您需要确保运行 PHP 的帐户有权访问此网络共享。 (副本解释了使用 IIS 时,但使用不同的服务器/设置,它可能仍然是相同的潜在问题。)

标签: php file-upload


【解决方案1】:

试试去掉'\\',尝试用你的代码替换下面的行

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

替换为下面

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

【讨论】:

    【解决方案2】:

    由于这是一个网络驱动器,您需要在执行代码之前确认您是否正确映射了驱动器。当您将远程路径映射到本地驱动器时,代码应该可以正常工作。通过使用代码,我相信您在 Windows 网络上。另请检查 $targetDir 中 \ 的用法。连接到网络路径的常用格式是 \Network IP\shared folder name\

    【讨论】:

    猜你喜欢
    • 2019-01-15
    • 2011-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多