【问题标题】:Rename a file in PHP folder, not php root重命名 PHP 文件夹中的文件,而不是 php root
【发布时间】:2012-01-27 21:02:35
【问题描述】:

我有一个 PHP 脚本,用于重命名 FTP 服务器根目录上的文件。

我需要更改它以重命名 FTP 根目录中的文件。

当前工作 将根目录中的文件重命名为 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>";
}

在此先感谢,我一如既往地感谢您的帮助,

问候, 瑞恩

【问题讨论】:

  • 您要将文件从/ 移动到root/despgoods/

标签: php file ftp directory rename


【解决方案1】:

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);

附: mysql_error() 在你的代码中做了什么?

【讨论】:

    【解决方案2】:

    使用这个

    $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

    【讨论】:

      猜你喜欢
      • 2014-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-21
      • 2012-08-10
      • 2011-02-08
      • 1970-01-01
      相关资源
      最近更新 更多