Переименуйте файл в папке PHP, а не в корне php - PullRequest
1 голос
/ 26 декабря 2011

У меня есть скрипт PHP, который я использую для переименования файла в корне FTP-сервера.

Мне нужно изменить это, чтобы переименовать файл в каталоге в корне FTP.

Текущий рабочий файл переименования в root для despgoods.csv

нужный рабочий файл переименования в root / despgoods / despgoods.csv

Мой PHP-скрипт:

$ftp_server = "ftp.ftpserver.co.za";
$conn_id = ftp_connect($ftp_server);
$ftp_user_name = "username";
$ftp_user_pass = "password";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$targetname = "DespGoods.csv";
$contents = ftp_nlist($conn_id, '');
if (!$contents) {
    echo 'No Files Present on Server: <br/> ';
    echo mysql_error();
    die;
}
$filename = $contents[0];
if ($filename == "despGoods.csv") {
    echo 'DespGoods already exists, no need to rename: <br/> ';
    echo mysql_error();
} else {
    ftp_rename($conn_id, $filename, $targetname);
    ftp_close($conn_id);
    echo "1 available file renamed to DespGoods.csv <br>";
}

Спасибозаранее, я ценю помощь, как всегда,

С уважением, Райан

Ответы [ 2 ]

1 голос
/ 26 декабря 2011

http://php.net/manual/en/function.ftp-chdir.php

или

$contents = ftp_nlist($conn_id, 'despgoods');
$filename = $contents[0];
if ($filename == "despGoods.csv") {
    echo 'DespGoods already exists, no need to rename: <br/> ';
} else {
    ftp_rename($conn_id, 'despgoods/'.$filename, 'despgoods/'.$targetname);
    echo "1 available file renamed to DespGoods.csv <br>";
}
ftp_close($conn_id);

P.S. Что mysql_error() делает в вашем коде?

0 голосов
/ 26 декабря 2011

Используйте это

$ftp_server = "ftp.ftpserver.co.za";
$conn_id = ftp_connect($ftp_server);
$ftp_user_name = "username";
$ftp_user_pass = "password";
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
$targetdir= "despgoods"; //target directory under which file is to be modified
$targetname = "DespGoods.csv";
ftp_chdir($conn_id, $targetdir);
$contents = ftp_nlist($conn_id, '');
if (!$contents) {
    echo 'No Files Present on Server: <br/> ';
    echo mysql_error();
    die;
}
$filename = $contents[0];
if ($filename == "despGoods.csv") {
    echo 'DespGoods already exists, no need to rename: <br/> ';
    echo mysql_error();
} else {
    ftp_rename($conn_id, $filename, $targetname);
    ftp_close($conn_id);
    echo "1 available file renamed to DespGoods.csv <br>";
}

Также проверьте http://www.php.net/manual/en/function.ftp-chdir.php

...