【问题标题】:PHP ftp_get Permission deniedPHP ftp_get 权限被拒绝
【发布时间】:2014-10-08 12:13:05
【问题描述】:

我是 PHP 新手,我正在使用此代码将图像从 ftp 下载到我的桌​​面:

    // try to login
if (@ftp_login($conn_id, $ftp_user, $ftp_pass)) {
    echo "<p> Connected as " . $ftp_user . " " . $ftp_server . "</p>";
} else {
    echo "<p> Couldn't connect as" . $ftp_user . "</p>";
}

$local_file = "C:\Users\sam\Desktop";
$server_file = "ftp://md346645@188.93.148.30/public/sites/www.ronvanderwerf.com/Images/beeld.jpg";

// download server file
if (ftp_get( $conn_id, $local_file, $server_file, FTP_ASCII))
{
    echo "Successfully written to $local_file.";
}
else
{
    echo "Error downloading $server_file.";
}

我在 XAMPP 上运行此代码。不幸的是,这就是我得到的:

*Connected as md346645 188.93.148.30*

*Warning: ftp_get(C:\Users\sam\Desktop): failed to open stream: Permission denied in C:\xampp\htdocs\Website ron\index.php on line 34*

*Warning: ftp_get(): Error opening C:\Users\sam\Pictures in C:\xampp\htdocs\Website ron\index.php on line 34*
*Error downloading ...md346645@188.93.148.30/public/sites/www.ronvanderwerf.com/Images/beeld.jpg.*

在我看来,我必须 chmod 我的 $local_file 才能授予权限。不幸的是,我没有成功地做到这一点。

有人有什么想法吗?

【问题讨论】:

  • 嗯,你在说你的问题的解决方案。您的网络服务器正在与对您的桌面没有写入权限的用户一起运行。确保运行 Web 服务器的用户可以写入 sams 桌面,您将是黄金

标签: php ftp chmod permission-denied


【解决方案1】:

ftp_get 函数的第二个参数是文件名,不是目录。这段代码实际上是试图将图像保存到文件“C:\Users\sam\Desktop”中,这当然不是一个文件,我猜 Windows 不允许这个珍贵的文件夹发生任何事情......

您只需添加正确的文件名,试试这个:

$local_file = "C:\Users\sam\Desktop\theimage.jpg";

或者,如果您希望将图像保存在当前文件夹中,则仅使用文件名:

$local_file = "theimage.jpg";

【讨论】:

  • 太棒了。为我工作!谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-07-27
  • 2013-08-07
  • 2018-03-19
  • 2015-07-15
  • 2020-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多