我有以下ftp客户端下载文件的代码是。
<?php
// connect and login to FTP server
$ftp_server = "IP";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, "USER", "PASSWORD");
$local_file = "files/syslog.txt";
$server_file = "syslog/syslog.txt";
// download server file
if (ftp_get($ftp_conn, $local_file, $server_file, FTP_ASCII))
{
echo "Successfully written to $local_file.";
}
else
{
echo "Error downloading $server_file.";
}
// close connection
ftp_close($ftp_conn);
?>
但是当我运行这个程序时,我得到了以下错误。
Warning: ftp_get(files/syslog.txt): failed to open stream: Permission denied in C:\wamp\www\demo\schedule_readtxt.php on line 11
Warning: ftp_get(): Error opening files/syslog.txt in C:\wamp\www\demo\schedule_readtxt.php on line 11
Error downloading syslog/syslog.txt.
我在这里做错了什么?
答案 0 :(得分:1)
我认为你是一个许可问题。
在我看来,你正试图写一个文件&#34; syslog.txt&#34;在一个不存在的文件夹中:&#34;文件&#34;或者您的脚本无法访问。
文件夹&#34;文件&#34>你的php脚本旁边是否存在? 如果确实如此,apache(或运行php脚本的用户)是否有权编写和访问此文件夹?
答案 1 :(得分:-1)
将变量$ local_file更改为完整路径&#34; C:\ path \ to \ file \ syslog.txt&#34;也使Apache拥有该文件夹的写权限