Variable für mehrere statt eins "Hilfe"

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variable für mehrere statt eins "Hilfe"

    Hallo und guten Tag,

    ich bitte hier um Hilfe, da ich zu blöd und unlogisch bin.

    Mein Problem:

    Ich habe mehrere Scripte von CamHistory bekommen und sie mit meinen Serverdaten angpasst.
    ----------------------------------------------------
    diese "camhist.cfg" enthält


    # URL zum WebCam-Bild (nur JPEG-Format)
    $webcam_url = "http://www.karavid.de/cam/cam1/cam1_1.jpg";

    # Serverpfad zum Archivverzeichnis (ohne Backslash am Ende)
    $archive_path = "/home/www/htdocs/karavid.de/archive";

    # URL zum Archivverzeichnis (ohne Backslash am Ende)
    $archive_url = "http://www.karavid.de/archive";

    # Breite der Archivbilder
    $picX = "640";

    # Hoehe der Archivbilder
    $picY = "480";
    ---------------------------------------------------

    genauso wird in der index.html ein Java-Script eingebunden

    <!--
    if (document.images) var refInterval = 0;
    else var refInterval = 30;
    function startCounter()
    {
    refInterval = refInterval - 1;
    var now = new Date();
    var dummystring = parseInt(now.getTime() / 1000);
    if (refInterval < 1)
    {
    if (document.images) document.refImage.src = "http://www.karavid.de./cam/cam1/cam1_1.jpg" + "?" + dummystring;
    else window.location.reload();
    refInterval = 30;
    }
    timerID = setTimeout("startCounter()", 1000);
    }
    //-->
    -------------------------------------------------

    wie ihr seht ist nur /cam1_1.jpg aufgelistet, mein bestreben ist aber, alle jpg's (1108) ins Archiv zu schicken. Es sind deshalb soviele, weil alle 2 Std wird minütlich 10 jpg's raufgeladen zum test.

    Es werden viel mehr sein, wenn ich dieses für 24 Std ausführen lasse.
    Der Grund ist denkbar einfach...bei mir wurde schon zweimal in meiner Wohnung eingebrochen, da ich aber viel auf Montage bin weiß ich nicht wer das immer ist.

    Ich möchte zum Punkt kommen:

    Weiß irgend wer, wie man es realisieren könnte, statt immer nur ein jpg alle automatisch nach 115min ins Archiv zu senden.....der Dateiname ist immer der gleiche "cam1_".

    Ausserdem -nur so'ne Frage- könnte man -um nicht alle 1108 jpg's ansehen zu müssen im Script einen Suchmaschine wie diese hier (ist meine eigene, funktioniert nur nicht richtig) so modifizieren, das man nur die Uhrzeit [Std:Min] eingeben braucht?

    Das würde heißen, das wenn es jemand schafft mir zu helfen dieses zu Programmieren dann würden bei Eingabe der Uhrzeit genau 10 Bilder ausgegeben.

    #!/usr/bin/perl

    use CGI;

    $q = new CGI;
    $begriff = $q->param(search1);
    print "Content-type: image/jpg\n\n";
    print "<html><title>Please go away</title>";
    print "<body><center>";
    print "<font face='Verdana'><h2>Ergebnis:</h2></font><p></p>\n";

    open (DATEN,'../cam1_\*.jpg');

    @bilddaten = <DATEN>;

    foreach $dummy (@bilddaten){

    @zeile = split(/;/,$dummy);

    if ($zeile[1] eq $begriff){
    if ($schonmalgefunden == 0){
    print "<table width='45%' border='1'>\n";
    print "<tr>\n";
    print "<td bgcolor='#CCCCCC'>".$zeile[1]."</td>\n";
    print "</tr>\n";
    $schonmalgefunden = 1;
    }else{
    print "<tr>\n";
    print "<td bgcolor='#CCCCCC'>".$zeile[1]."</td>\n";
    print "</tr>\n";
    }
    }
    }

    if ($schonmalgefunden == 1){
    print "</table><br>\n";
    }
    close (DATEN);
    print "<br>\n";
    print "<br>\n";
    print "<body><h2><center>";
    print " <a href='http://www.karavid.de/suche.htm'>Neue Suche</a><br></center></h2>";

    print "</body></center></html>";
    -----------------------------------------------------

    Wenn mehr Daten erwünscht sind eben bescheid geben.

    Abgesehen von allem, ich bin bereit dafür zu Zahlen.

    Danke
    freelight

  • #2
    Hi,

    Du könntest den Ordner, der die Foto's enthält rein theoretisch zippen und diese zip-datei hochladen.
    Somit sparst du Traffic und gleichzeitig Webspace, und falls eingebrochen wird, schaust du dir nur die eine zip-Datei an (am besten mit Datum als Dateiname o.ä.)
    Ein Script zum entpacken der Dateien müsste dann natürlich auch noch her, aber ist sicherlich um einiges besser als jede Datei einzeln hochladen zu müssen.

    Haken: funktioniert nur unter Linux. (wenn ich irre, korrigiert mich )


    byez - sagg
    mfg - sagg

    Kommentar


    • #3
      Die jpg's werden automatisch von der cam auf den Webserver geladen.
      Ausserdem will ich täglich von meiner Bleibe (Montage) aus die jpg's einsehen können.


      Also bitte nur antworten, wenn jemand fachliche Info bieten oder mir beim Programmieren helfen kann.

      Kommentar


      • #4
        Na entschuldige, dass ich das übersehen habe.

        Wie auch immer, wenn deine Cam es unterstützt, lässt du am besten die Uhrzeit in den Dateiname einfließen und sortierst sie dann eben nach diesem.
        Da das Erstellungsdatum der Dateien ziemlich gleich sein dürfte, wird uns das wohl auch nicht weiter helfen.
        Eine andere Lösung fällt mir jetzt aber auch nicht ein.

        Die Bilder könntest du per exec, in Verwendung mit cp, auch einfach kopieren, müsstest du nur die Rechte setzten.

        Wenn dir das auch nicht recht ist, bin ich ab jetzt Still.

        mfg - sagg
        mfg - sagg

        Kommentar


        • #5
          Die Uhrzeit wird vom Server erstellt.

          Was meinst du mit "exec" und "cp"....wie gesagt ich bin kein Programmierer.

          Es muss doch möglich sein, dieses was ich vorhabe in einem Script unterzubringen wenn nicht zu ergänzen.
          Meinst du nicht auch...warum gibt es denn so viele kluge Köpfe.

          Kommentar


          • #6
            Aber durch das kopieren der Dateien wird das Erstellungsdatum auf das "Kopier-Datum" gesetzt (nehm ich zumindest an).

            Mit exec kann man Befehle an die Console geben, der hier wie folgt lauten dürfte

            PHP-Code:
            exec("cp pfad/zu/cam1/*.jpg pfad/zu/archive"
            Es müssen aber die relativen Pfade sein, nicht über die www-Adresse.

            Sobald dieses Script aufgerufen wird, werden alle Bilder kopiert.
            Am besten wäre es, das Script per Crontab aufzurufen, oder jedoch es wird bei jedem Seitenaufruf gestartet, was auch nicht so schlimm sein sollte.


            byez - sagg
            mfg - sagg

            Kommentar


            • #7
              das hört sich schon mal gut an, aber wo füge ich exec ein?
              Denn wie du oben siehst, habe ich mehrere Scripte (die auch zum runter laden sind).

              Oder meinst du ich sollte es in der camhist.cfg bei


              ersetzen.
              Zuletzt geändert von freelight; 01.11.2004, 15:07.

              Kommentar


              • #8
                Das müsstet du in einer PHP-Datei schreiben und das Script per Cronjob ausführen lassen.

                Du müsstest nichts weiter als

                PHP-Code:
                <?php
                exec
                ("cp pfad/zu/cam1/*.jpg pfad/zu/archive");
                ?>
                in die Datei schreiben und diese als ".php"-Datei speichern
                Wenn die Dateien im Ordner cam1 gleichzeitig gelöscht werden sollen, dann einfach "cp" durch "mv" ersetzen. Dabei werden die Dateien nicht kopiert, sondern verschoben.

                Wie man einen CronJob einstellt wurde hier im Forum sicher schon des öfteren erklärt, müsstest du mal die Such-Funktion benutzen.


                byez - sagg

                edit:
                achso, es in die cfg-Datei zu schreiben würde wenig Sinn machen, da diese kein PHP ausführen können.
                mfg - sagg

                Kommentar


                • #9
                  Da wäre noch das Problem, das in der camhist.cfg nur eine einzelne Datei aufgerufen werden kann und die verantwortlich für die restlichen *.pl ist.

                  Hast du dir mal die Scripte runtergeladen?, dann wirst du mich verstehen was ich meine.

                  Ausserdem wenn ich einen neuen CronJob erstelle mit "mv" dann müßte aber das Archiv ja auch irgendwann mal geleert werden, denn sonst würden bald meine Webspace platzen...oder?

                  EDIT:
                  Wie man einen CronJob einstellt wurde hier im Forum sicher schon des öfteren erklärt, müsstest du mal die Such-Funktion benutzen.


                  Sind meine Scripte auch CronJob's?
                  Ich fahre kein linux oder dergleichen sondern ne Dose.

                  Machst du dir bitte die Mühe und schaust mal die 3 *.pl und die *.cfg an.


                  free
                  Zuletzt geändert von freelight; 01.11.2004, 13:57.

                  Kommentar


                  • #10
                    Wann wird denn die Datei ausgeführt, die die Dateien ins Archiv schiebt?

                    Weil in der Datei steht ja auch, das diese per CronJob ausgeführt wird.
                    Wenn es per so gemacht wird, dann alle wieviel Minuten?
                    Wobei ich deiner Aussage zufolge davon ausgehe, das du keinen Cronjob benutzet.

                    byez - sagg

                    ach, denkfehler, mv funktioniert natürlich nich..löl, hm..müsst ich mal eben nachguggn wie das unter windows ist, hab das dort noch nie angewandt
                    Zuletzt geändert von sagg; 01.11.2004, 14:08.
                    mfg - sagg

                    Kommentar


                    • #11
                      Stimmt, ich höre Heut zum ersten mal von CronJob.

                      Wann?...keine Ahnung, hab ich immer manual gemacht.
                      Aber stimmt in der [COLOR=red]chcsave.pl[/COLOR] steht Cronjob.


                      Problem 1:

                      Genau das ist ja eigentlich das Problem, ich will das nicht nue ein "bestimmtes" Bild sondern alle Bilder automatisch ins Archiv geladen werden und das diese nach einer bestimmten Zeit aus dem Archiv entvernt werden.

                      Problem 2:

                      Und das ich nur die Systemzeit des Webservers in per Suchmaschine/Script eingeben brauche um nicht alle Bilder einsehen muss, denn mal angenommen bei mir wird wieder eingebrochen und der Nachbar hat was gehört aber nichts gesehen und ruft mich an.
                      Ich brauche dann nur die ungefäire Uhrzeit (wie schon erwähnt werden immer 10 Bilder die Minute in 6 Sekunden abstand raufgeladen) schon kann ich sehen WER es ist.

                      Geh doch mal auf meine Seite http://www.karavid.de/
                      Ich werde mal die Bilderzahl abändern in 60 Bilder, dann dauert es keine 2 Std. bis das Bild cam1_1.jpg erneut ins Archiv geladen werden sollte.

                      Edit:
                      Habe eben festgestellt bei der Umstellung einer geringeren Anzahl von Bildern -wobei das Bild cam1_1.jpg eigentlich alle 6 Min raufgeladen werden sollte es nicht gemacht wird, sondern nur Manuell geschieht per "Kamereabild speichern" alle 6 Min.

                      free
                      Zuletzt geändert von freelight; 01.11.2004, 15:28.

                      Kommentar


                      • #12
                        hm, ohne CronJob könnte das zum Problem werden, da dieser CronJob dafür sorgt, das die datei alle 6 min ausgeführt wird.

                        Wird die cfg-Datei denn automatisch immer wieder ausgeführt? oder bis jetzt noch gar keine?

                        Weil irgendwie muss man das Script ja alle paar minuten aufrufen.
                        mfg - sagg

                        Kommentar


                        • #13
                          Stimmt.

                          Muss wohl auf eine Server-Version umsteigen.
                          Mein Provider hat allerdings nur den Confixx Pro, ich weiß nicht ob das etwas helfen kann, was meinst du dazu.

                          Wenn der cronjob darauf läuft kannst du mir denn dabei helfen meine Problem in den Griff zu bekommen?, ich bin echt ne Null in Programmieren, bin eher Handwerker.

                          Die Umstellung dauert in der Regel 24 Std.

                          Kommentar


                          • #14
                            Steht bei dir im Confixx unter Tool's im Menü Crontab? Wenn ja, ist das Problem geklärt.
                            Ansonsten schau einfach mal in der Angebot-Beschreibung von dem Webspace, ob da irgendwas von Cronjob steht.
                            mfg - sagg

                            Kommentar


                            • #15
                              Ich hab in der admin.pdf dieses gefunden.

                              Anzahl Cronjobs: Mit Hilfe von Cronjobs können Endkunden Scripte automatisiert zu bestimmten Zeiten ausführen lassen.Ein Cronjob entspricht einen Eintrag in der Datei '/etc/crontab'. Soll ein Endkunde z.B. zwei Cronjobs einrichten dürfen, müssen ihm vom Anbieter mindestens zwei Cronjobs zugewiesen werden.


                              Selbst habe ich zusätzlich in der admin.pdf eine Tabelle gesehen, wo man Crontab 0=unendlich ansonsten die bestimmte Zahl eintragen kann.


                              http://www.sw-soft.com/en/products/confixx/demo/

                              klicke auf Admin's Interface


                              Entspricht das was du meinst?
                              Zuletzt geändert von freelight; 01.11.2004, 17:41.

                              Kommentar

                              Lädt...
                              X