Reload php datei

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Reload php datei

    Hey,

    ich brauche Hilfe bei einer Datei und zwar. Ich würde gerne eine php datei haben
    wo dieser Link alle 15 sekunden aktualierst wird.
    http://85.214.28.248:7000/admin.cgi?pass=PW&mode=updinfo&song=Track%20Update%20@%20www.HR-Radio.org

    Und das der Link ausgeführt wird. Mhhh ich habe nicht wirklich Ahnung davon. Wie das geht, weil mit Reload hab ich noch nichts gemacht. Wäre nett wenn mir jemand helfen könnte.

    Gruß
    dehne
  • Jepp Cronjob habe ich ;)
    Und wie dann weiter ?
    Ja oder sagen wir alle 2 min ;)

    Hier habe ich mal den Code:

    Quellcode

    1. <script language="JavaScript">
    2. <!--
    3. var countDownInterval=15;
    4. var countDownTime=countDownInterval;
    5. function countDown()
    6. {
    7. --countDownTime;
    8. if (countDownTime < 0)
    9. {
    10. countDownTime=countDownInterval;
    11. }
    12. document.all.countDownText.innerText = countDownTime;
    13. setTimeout("countDown()", 1000);
    14. if (countDownTime == 0)
    15. {
    16. location.reload();
    17. }
    18. }
    19. // -->
    20. </script>
    21. Nächster Reload in <b id="countDownText">15</b> Sekunden
    22. <script language="JavaScript">
    23. <!--
    24. setTimeout("countDown()", 1000);
    25. // -->
    26. </script>
    27. <?php
    28. $ip = "85.214.28.248"; // Server Address
    29. $port = "7000"; // Server Port
    30. $pass = "PW"; // Admin Password
    31. $song = $_POST['song'];
    32. if (empty($song)) {
    33. ?>
    34. <?php
    35. } else {
    36. $song = urlencode($song);
    37. $song = str_replace("+", "%20", $song);
    38. $fp = @fsockopen($ip,$port,$errno,$errstr,4);
    39. if (!$fp) {
    40. print "Error: cant get server, please check that server is online";
    41. } else {
    42. fputs($fp, "GET /admin.cgi?pass=PW&mode=updinfo&song=Track%20Update%20@%20www.HR-Radio.org");
    43. fputs($fp, "User-Agent: Mozilla\r\n\r\n");
    44. fclose($fp);
    45. $song = str_replace("%20", "+", $song);
    46. $song = urldecode($song);
    47. print "<strong>Title Updated</strong><p>$song</p><p style=\"font-size: 70%\">Powered by <a href=\"http://hardrevolution.org\" target=\"_blank\">HR</a></p>";
    48. }
    49. }
    50. ?>
    51. </table>
    52. </body>
    53. </html>
    Alles anzeigen
  • *g* ob das php script alleine funktioniert, musst du schon selbst testen.
    Das muss unabhängig vom Cronjob funktionieren

    Um dein Script Cronjob-fähig zu machen, lösche den ganzen HTML und JavaScript kram heraus, bis dein Script keine Ausgabe mehr hat.

    Nutzt du nun einen externen Dienstleister, oder hast du selbst Cronjobs?
    Wenn du selbst Cronjobs hast, hast du entweder Shellzugang oder eine eigene Oberfläche.

    Eigene Oberfläche = selbst herausfinden oder Anbieter fragen
    Externer Dienstleister = vorgehen wird bestimmt beschrieben, ansonsten nachfragen
    Eigener Shellzugang = (*)

    (*) Mit Shellzugang hast du mehrere Möglichkeiten.
    Finde heraus ob du den Kommandozeilen-Interpreter installiert hast
    einfach php -version in der shell eingeben

    Beispielausgabe:
    >php -version
    PHP 5.1.2 (cli) (built: Nov 2 2006 12:22:17)
    Copyright (c) 1997-2006 The PHP Group
    Zend Engine v2.1.0, Copyright (c) 1998-2006 Zend Technologies


    (***) Falls ja, musst du noch herausfinden wo php installieren ist.
    Geb dazu whereis php ein
    >whereis php
    php: /usr/bin/php /usr/bin/X11/php /usr/share/php /usr/share/man/man1/php.1.gz


    Den Pfad /usr/bin/php (falls du eine ähnliche ausgabe erhalten hast) übernimmst du nun in deine aufzurufende datei, indem du eine Shebang Zeile vor deinem php code hinzufügst

    Quellcode

    1. #!/usr/bin/php
    2. <?php
    3. // dein code....


    Dann suchst du dir am besten einen [google]cronjob generator[/google] um die korrekte syntax für den Zeitintervall herauszufinden. Der aufzurufende Befehl lautet
    php -f /var/www/dein_verzeichnis/html/dateiname.php


    Ein fertiger Cronjob der alle 2 Minuten läuft, könnte z.B. so aussehen:
    */2 0 0 * * * php -f /var/.../dateiname.php


    (***) Wenn du kein PHP-CLI (Command Line Interpreter) installierst hast, musst du mit anderen tools wie z.B. WGET arbeiten
    dabei musst du deine PHP Datei nicht verändern und deinen Cronjob folgendermaßen aufrufen
    wget -O - http://web.de



    Anleitung jetzt zu finden unter [coderwiki]HowTos/PHP-Cronjob[/coderwiki]