PHP警告:ftp_fput():无法打开该文件:是该目录中的 [英] PHP Warning: ftp_fput(): Can't open that file: Is a directory in

查看:149
本文介绍了PHP警告:ftp_fput():无法打开该文件:是该目录中的的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试将文件上传到FTP.

I'm trying to upload a file to FTP.

这是我的代码:

$connect = ftp_connect('ftp.my-server.fr');
$login = ftp_login($connect, 'username', 'pass');

$remote_file = '/' . $date;
$local_file = fopen('C:/MAMP/htdocs/mysite/myfolder/' . $hour .'.mp3', 'r');

ftp_chdir($connect, '/'.$date);

if (ftp_fput($connect, $remote_file, $local_file, FTP_ASCII)) {
    echo "The file $local_file has been loaded";
} else {
    echo "Error while uploading file " . $local_file;
}

我遇到错误:

PHP警告:ftp_fput():无法打开该文件:是第26行上C:\ MAMP \ htdocs \ mysite \ index.php中的目录

PHP Warning: ftp_fput(): Can't open that file: Is a directory in C:\MAMP\htdocs\mysite\index.php on line 26

我不明白,因为路径是文件.当我在浏览器中粘贴$local_file URL时,声音正在播放.

I don't understand because the path is the file. When I paste $local_file URL in my browser the sound is playing.

推荐答案

您的$local_file可以,但是您的$remote_file是目录(您将'/' . $date用于ftp_chdir),并且它必须是文件的路径(将被创建)

Your $local_file is OK, but your $remote_file is a directory (you use '/' . $date for ftp_chdir), and it need to be a path to a file (that will be created)

您可以使用basename复制与本地文件相同的文件名:

You can copy the same filename than the local file with basename :

$remote_dir = '/' . $date;
$local_file = fopen('C:/MAMP/htdocs/mysite/myfolder/' . $hour .'.mp3', 'r');

ftp_chdir($connect, $remote_dir);
$remote_file = $remote_dir . '/' . basename($local_file) ;

if (ftp_fput($connect, $remote_file, $local_file, FTP_ASCII)) {
    echo "The file $local_file has been loaded";
} else {
     echo "Error while uploading file " . $local_file;
}

这篇关于PHP警告:ftp_fput():无法打开该文件:是该目录中的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆