Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP下载文件?_Php_Ftp - Fatal编程技术网

PHP下载文件?

PHP下载文件?,php,ftp,Php,Ftp,我正在尝试用PHP创建一个文件的下载程序。它将从服务器下载到本地计算机 以下是我目前掌握的代码: // connect and login to FTP server $ftp_server = "files.000webhost.com"; $ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server"); $login = ftp_login($ftp_conn, "jonasvdr", "****

我正在尝试用PHP创建一个文件的下载程序。它将从服务器下载到本地计算机

以下是我目前掌握的代码:

// connect and login to FTP server
$ftp_server = "files.000webhost.com";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, "jonasvdr", "*******");

$local_file = "image";
$server_file = "https://jonasvdr.000webhostapp.com/uploads/NewlogoNoBackGround.png";

// 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);
我得到的错误是:

警告:ftp_get():无法打开:第11行的/storage/ssd5/555/3642555/public_html/download.php中没有此类文件或目录

我试着把uploads/NewlogoNoBackGround.png代替整个URL,但得到了相同的结果


这个PHP页面位于主根目录中,该目录中有一个名为uploads的映射。那就是文件所在的地方。那么如何获取该文件?

看起来您试图通过其URL而不是文件路径访问该文件。尝试:

$server_file = '/uploads/NewlogoBackGround.png';
或者,或者:

$server_file = $_SERVER['DOCUMENT_ROOT'].'/uploads/NewlogoBackground.png';

取决于文件的确切位置和文件结构。

看起来您试图通过文件的URL而不是文件路径访问文件。尝试:

$server_file = '/uploads/NewlogoBackGround.png';
或者,或者:

$server_file = $_SERVER['DOCUMENT_ROOT'].'/uploads/NewlogoBackground.png';

取决于文件的确切位置和文件结构。

我不希望
https://jonasvdr.000webhostapp.com/uploads/NewlogoNoBackGround.png
将成为有效的文件名。这看起来很像HTTP URL。您需要传递服务器文件系统上文件相对于FTP根的路径。你正在传递它的URL.ehhh。我是PHP新手。我该怎么做?只有路径名
“/uploads/NewlogoNoBackGrou‌​png“
为什么你要用FTP来做这件事,而不仅仅是
复制($server\u file,$local\u file)
?我不希望
https://jonasvdr.000webhostapp.com/uploads/NewlogoNoBackGround.png
将成为有效的文件名。这看起来很像HTTP URL。您需要传递服务器文件系统上文件相对于FTP根的路径。你正在传递它的URL.ehhh。我是PHP新手。我该怎么做?只有路径名
“/uploads/NewlogoNoBackGrou‌​nd.png“
为什么你要用FTP来做这件事,而不仅仅是
复制($server\u file,$local\u file)
?不起作用。。。对于这两个问题,我在第11行的/storage/ssd5/555/3642555/public_html/download.php中没有这样的文件或目录。下载/uploads/newlogoback.png时出错。不起作用。。。对于这两种情况,我都得到了“第11行的/storage/ssd5/555/3642555/public_html/download.php中没有这样的文件或目录下载/uploads/newlogoback.png时出错。”