0

我需要每小时更新一次 FTP 上的图形。“每小时”部分没问题,这可以通过 cronjob(?) 完成,但我首先在复制或上传图像时遇到了一些麻烦。也许我最初的想法如何解决这个问题是错误的?我不知道...

所以这是我的代码示例:

<?php

    $ftp_server = "SERVERNAME";       
    $ftp_user = "USER";
    $ftp_pass = "PASSWORD";

    // set up a connection or die
    $conn = ftp_connect($ftp_server) or die("Couldn't connect to $ftp_server"); 

    // try to login
    if (@ftp_login($conn, $ftp_user, $ftp_pass)) {
        echo "Connected as $ftp_user@$ftp_server\n";
    } else {
        echo "Couldn't connect as $ftp_user\n";
    }

    echo "Current directory: ". ftp_pwd($conn) . "\n<br><br>";

    $file = "example.jpg";
    $newfile = "example.jpg";

    if (!copy($file, $newfile)) {
        echo "failed to copy $file...\n";
    }
    ?>

结果如下:

目录: /

无法打开流:第 47 行的 /user/usernumberxyz/subdomains/demo/test/countdown/example.php 中没有这样的文件或目录

我想我必须正确设置目录,但我不知道如何(但更多是因为我的 FTP 环境)。

我认为这是我需要帮助的地方:-/

如果我通过 FileZilla 连接到我的 FTP,我想要复制到其他地方的文件所在的目录是:/demo/test/countdown

为了在这个目录中打开一个文件,我像这样打开它: http: //subdomain.domain.com/demo/test/countdown/file.jpg

正如错误消息所示,该目录也很奇怪(?):/user/usernumberxyz/subdomains/demo/test/countdown/example.php

所以我尝试了几种方法来改变饮食,但没有成功:

ftp_chdir($conn, '/demo/test/countdown');
ftp_chdir($conn, 'demo/test/countdown');
ftp_chdir($conn, '/user/usernumberxyz/subdomains/demo/test/countdown/');
ftp_chdir($conn, 'user/usernumberxyz/subdomains/demo/test/countdown/');

每次它导致:“无法更改目录”。

谁能帮助我,是 ftp_put 还是复制正确的解决方案?

4

1 回答 1

0

首先 - 您使用 copy() 在 FTP 上进行复制?我认为这对远程不利;)

其次 - 再次检查权限,尝试使用“..”更改目录并为其编写简短的测试代码。示例,代码如上,但只尝试 ftp_chdir() for ".." 并再次检查当前目录。

第三 - 是的,crontab 每小时都会这样做

PS。对不起我的英语,我希望这是可以理解的,我的回复对你有帮助。

于 2013-05-21T12:54:03.153 回答