Subversion-Projekte lars-tiefland.content-management

Revision

Blame | Letzte Änderung | Log anzeigen | RSS feed

<?
        /* SETTINGS */
        
        // forget about any script timeouts
        set_time_limit(0);

        // Benachrichten bei Fehler:
        $SETTINGS["ERROR_MSG_TO"] = "info@weban.de";

        // Verzeichnisse die abgeglichen werden sollen
        $SETTINGS["dirs"] = array
        (
                array
                (
                        "Source"                => "/web/apache/mediaran.de/images/Bild_5/kl",
                        "Destination"   => "/shopdata/artikel/standard"
                ),
                array
                (
                        "Source"                => "/web/apache/mediaran.de/images/Bild_5",
                        "Destination"   => "/shopdata/artikel/detail"
                ),
                array
                (
                        "Source"                => "/web/apache/mediaran.de/images/Bild_5/kl",
                        "Destination"   => "/bs_shopdata/artikel/standard"
                ),
                array
                (
                        "Source"                => "/web/apache/mediaran.de/images/Bild_5",
                        "Destination"   => "/bs_shopdata/artikel/detail"
                )
        );

        // FTP SERVER LOGIN DATEN
        $SETTINGS["FTP_SERVER"] = array
        (
                "SERVER"        => "s87594393.einsundeinsshop.de",
                "USER"          => "u35337859",
                "PASSWORD"      => "alco17"
        );
        
        // Zeit in Sekunden : Sekunden*Minuten*Stunden
        $SETTINGS["TIMEOUT"] = 60 * 60 * 2;

        /* LOS GEHTS */
        
        // FTP VERBINDUNG AUFBAUEN
        $conn_id = ftp_connect($SETTINGS["FTP_SERVER"]["SERVER"]); 
        $login_result = ftp_login
        (
                $conn_id,
                $SETTINGS["FTP_SERVER"]["USER"],
                $SETTINGS["FTP_SERVER"]["PASSWORD"]
        );
        ftp_pasv($conn_id,TRUE);
        
        if ((!$conn_id) || (!$login_result)) 
        { 
        mail
                (
                        $SETTINGS["ERROR_MSG_TO"],
                        "Mediaran Bilderabgleich: Ftp-Verbindung konnte nicht hergestellt werden!",
                        $SETTINGS["FTP_SERVER"]["SERVER"]."\n".
                        $SETTINGS["FTP_SERVER"]["USER"]."\n".
                        $SETTINGS["FTP_SERVER"]["PASSWORD"]
                );
        die; 
    }
        
        $error_log=array();
        $success_log=array();
        foreach ($SETTINGS["dirs"] as $combo)
        {
                // Verzeichnis anwählen
                if (!ftp_chdir ($conn_id, $combo[Destination]))
                {
                mail
                        (
                                $SETTINGS["ERROR_MSG_TO"],
                                "Mediaran Bilderabgleich: Verzeichnis nicht gefunden !",
                                $combo[Destination]
                        );
                        die;
                }

                $handle=opendir($combo["Source"]); 

                while ($file = readdir ($handle)) 
                { 
                        if 
                        (
                                ($file != ".")
                                &&
                                ($file != "..")
                                &&
                                (is_file ($combo["Source"]."/".$file))
                                &&
                                (time()-filemtime($combo["Source"]."/".$file) < $SETTINGS[TIMEOUT])
                        )
                        { 
                                if (ftp_put ($conn_id, $file, $combo["Source"]."/".$file, FTP_BINARY))
                                {
                                        $success_log[]=$combo["Source"]."/".$file." -> ".$combo["Destination"]."/".$file."\n";
                                        //echo "[ OK ] ".$combo["Destination"]."/".$file."\n";
                                }
                                else
                                {
                                        $error_log[] = $combo["Source"]."/".$file." -> ".$combo["Destination"]."/".$file."\n";
                                        //echo "[ KO ] ".$combo["Destination"]."/".$file."\n";
                                }
                        }
                }
                closedir($handle); 
        }
        // FTP-Verbindung beenden
        ftp_close($conn_id);
        if (count($error_log) > 0)
        {
                mail ($SETTINGS["ERROR_MSG_TO"],"Mediaran Bilderabgleich: Upload-Fehler",implode("\n",$error_log));
        }

        if (count($success_log) > 0)
        {
                //mail ($SETTINGS["ERROR_MSG_TO"],"Mediaran Bilderabgleich: Upload-Status",implode("\n",$success_log)); 
        }
?>