php - PHP 警告:ftp_fput():无法打开该文件:是一个目录
问题描述
我正在尝试将文件上传到 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 中的目录
我不明白,因为路径是文件。当我在浏览器中粘贴$local_file
URL 时,声音正在播放。
解决方案
你$local_file
的没问题,但你$remote_file
是一个目录(你使用'/' . $date
for ftp_chdir
),它需要是一个文件的路径(将被创建)
您可以使用以下命令复制与本地文件相同的文件名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;
}
推荐阅读
- laravel - Laravel api 对 POST 请求进行身份验证,但使用 GET 返回“未验证”
- swift - 想在swift ios中实现这种类型(张贴的图像)侧边菜单
- java - 从 Map 的 Java 流中按键对它们进行分组并找到最大值未按预期工作
- python - 如何从 puppeteer 保存 cookie 并使用 cookie 在 python 中发出请求?
- python - 使用 Mac Automator 运行 Python 查找和替换。多行 (\n\r) 不工作
- wpf - WPF - 是否有将字体粗细应用于 Arrial 窄/Calibri 轻字体系列的解决方法?
- android - 房间附加和复制数据库中的数据
- excel - Birt:特定的波斯字体不适用于 excel 报告输出(对于具有 excel 输出的报告,特定波斯字体的问题)
- python - 我想从 python 中的 send() 方法中访问 UserQus.append(msg) 和 BotAns.append(res)
- reactjs - 如何清除反应表中的所有过滤器