我正在尝试使用php的ftp_delete函数删除我的ftp服务器上的文件,但是我似乎无法让它工作。
我已按照php手册页ftp_delete上的说明操作,但仍然没有运气。
也许我错过了什么?
在本地测试服务器上使用该文件时,它会显示连接正常,但是当我将文件上传到远程服务器时,我根本无法连接。
我的代码
<?php
// server credentials
$ftp_server = "address.myftpupload.com";
$ftp_username = "Password";
$ftp_userpass = "UserName";
// set up basic connection
$conn_id = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
// login with username and password
ftp_login($conn_id, $ftp_username, $ftp_userpass);
ftp_pasv($conn_id, true);
//change dir
ftp_chdir($conn_id, "webroot/CundyTech/BassClef/gallery-images/images");
// try to delete $file
$file = "webroot/CundyTech/BassClef/gallery-images/images/metal_textures_silver.jpg";
if (ftp_delete($conn_id, $file)) {
echo "$file deleted successful\n";
} else {
echo "could not delete $file\n";
}
// close the connection
ftp_close($conn_id);
?>
任何帮助都会很棒,甚至只是朝着正确的方向发展。
答案 0 :(得分:2)
也许这个:
您正在将目录更改为images目录,然后从您要删除的图像目录“webroot / CundyTech / BassClef / gallery-images / images / metal_textures_silver.jpg”
所以我可能错了,但似乎你试图删除:
“根目录/ CundyTech / BassClef /画廊图像/图片/根目录/ CundyTech / BassClef /画廊图像/图片/ metal_textures_silver.jpg”
我认为你只需要:
ftp_delete($conn_id, "metal_textures_silver.jpg");
答案 1 :(得分:0)
实际问题是,因为该文件已经在FTP服务器上,所以它不需要所有登录和凭据
// server credentials
$ftp_server = "address.myftpupload.com";
$ftp_username = "Password";
$ftp_userpass = "UserName";
// set up basic connection
$conn_id = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
// login with username and password
ftp_login($conn_id, $ftp_username, $ftp_userpass);
ftp_pasv($conn_id, true);
//change dir
ftp_chdir($conn_id, "webroot/CundyTech/BassClef/gallery-images/images");
所以我删除了这个,然后运行其余部分,它完美无缺。
我还从
更改了删除功能php_delete
到
像@ Bob0t建议所以最终解决方案是放置这个php文件;php_unlink
foreach (glob("*.jpg") as $filename) {
echo "$filename size " . filesize($filename) . "\n";
unlink($filename);
}
在我想要删除扩展名“.jpg”的所有文件的目录中。