Ankündigung

Einklappen
Keine Ankündigung bisher.

Dateidownload mit Curl

Einklappen

Neue Werbung 2019

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

  • Dateidownload mit Curl

    Hallo Leute beschäftige mich seit kurzem mit curl,
    ich bekomm es aber irgendwie nicht hin einen download auf meinen lokalen PC zu machen eseidenn ich habe das script lokal laufen, vllt kann mir ja einer von euch helfen, hab jetzt schon bei google etliche Themen usw durchgelesen nur bin ich zu keiner Antwort gekommen.

    Hier mein Script:
    PHP-Code:
    <?php
    /**
    * Initialize the cURL session
    */
    $ch curl_init();
    /**
    * Set the URL of the page or file to download.
    */
    curl_setopt($chCURLOPT_URL,
    'http://news.google.com/news?hl=en&topic=t&output=rss');
    /**
    * Create a new file
    */
    $fp fopen('c:\rss.xml''wb');
    /**
    * Ask cURL to write the contents to a file
    */
    curl_setopt($chCURLOPT_FILE$fp);
    curl_setopt($chCURLOPT_HEADER0);
    curl_setopt($chCURLOPT_BINARYTRANSFER1);
    /**
    * Execute the cURL session
    */
    curl_exec ($ch);
    /**
    * Close cURL session and file
    */
    curl_close ($ch);
    fclose($fp);
    ?>
    Wiesagt das läuft auch, aber nur aufml lokalen webserver, wenn ich es irgendwo hochlade, dann funktioniert es nicht mehr, ich
    hoffe ihr könnt mir helfen,
    gibt es vllt sonst eine andre möglichkeit einen download zu vollziehen ohne das dieser mit speichern unter bestätigt werden muss??

    Vielen dank schonmal im voraus.

    LG
    J.K

  • #2
    Wenn das Skript auf einem anderen Server auch so funktionieren würde, wie du dir das vorgestellt hast, wäre das eine Katastrophe. Das würde bedeuten, dass jeder Webserver dir beliebige Dateien auf die Festplatte schreiben kann.

    Also der Denkfehler liegt hier:
    $fp = fopen('c:\rss.xml', 'wb');
    Dieser Pfad bezieht sich auf den Server, der Server versucht also etwas auf seiner C-Partition zu speichern. Das wird vermutlich schief gehen, da die meisten Server auf Linux basieren und damit keine C-Partition kennen.

    Die einzige Möglichkeit, etwas ohne Speichern unter... zu vollziehen, ist wie du schon gesagt hast, das Skript auf dem Rechner laufen zu lassen, auf dem etwas gespeichert wird.

    Edit: Ok eine Möglichkeit gibt es, du suchst eine Sicherheitslücke im Browser und schleust Code ein, der etwas auf die Festplatte schreibt.
    [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
    [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

    Kommentar


    • #3
      Naja dann ist es ja blödsinn das als download dazustellen, weil dasselbe könnte mann dann ja mit fwrite machen, ich dachte da würde es eine möglichkeit geben.

      Aber Danke für die Antwort

      Kommentar

      Lädt...
      X