每小时通过PHP覆盖/上传现有图像+正确更改目录

时间:2013-05-21 12:46:19

标签: php image directory copy

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

所以这是我的代码示例:

<?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";
    }
    ?>

结果如下:

  

目录:/

     

无法打开流:没有此类文件或目录   /user/usernumberxyz/subdomains/demo/test/countdown/example.php在线   47

我想我必须正确设置目录,但我不知道如何(但更多因为我的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/');

Evertime导致:“无法更改目录”。

任何人都可以帮助我吗?是ftp_put还是复制正确的解决方案?

1 个答案:

答案 0 :(得分:0)

首先 - 您在FTP上使用copy()进行复制?我觉得它对遥控器不好;)

第二 - 再次检查权限,尝试使用&#34; ..&#34;更改目录。并为它编写简短的测试代码。例如,上面的代码,但只是尝试ftp_chdir()for&#34; ..&#34;并再次检查当前目录。

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

PS。对不起我的英文,我希望这是明白的,我的回复会帮助你。