martin: Download

Hallo, unter einer Internetadresse http://www.download.de/verzeichnis_1/verzeichnis_2/datei.csv steht eine Datei für mich zum download bereit. Wenn ich auf die Seite gehe, kann ich diese Datei problemlos herunterladen (eine USER-ID und PW brauche ich dazu nicht).
Ich möchte aber diese Datei innerhalb eines Scripts herunterladen.

Ich habe mir das folgendermaßen vorgestellt:
<?php
  $link = ftp_connect("http://www.download.de/verzeichnis_1/verzeichnis_2/datei.csv ");
  if (!ftp_login($link, "", ""))
    die("Kann mich nicht einloggen.");
......
?>

Das klappte aber leider  nicht!

Auch folgender Versuch ist fehlgeschlagen (Verbindung nicht hergestellt):
<?php
  $link = ftp_connect("http://www.download.de ");
  if (!ftp_login($link, "", ""))
    die("Kann mich nicht einloggen.");

if (!ftp_chdir($link, "/verzeichnis_1/verzeichnis_2"))
    die("Kann nicht in das Zielverzeichnis wechseln.");

$name = ftp_nlist($link, ".");
  if (isset($name) and is_array($name)) {
    foreach ($name as $k => $v) {
      printf("%s - %s<br>\n", $k, $v);
    }
  }

?>

Wie muss ich das richtig anstellen? Hat jemand eine Beispielscript ( mit dem manual und dclp-faq  komme ich leider nicht weiter)!
Gruß martin

  1. hallo,

    Hallo, unter einer Internetadresse http://www.download.de/verzeichnis_1/verzeichnis_2/datei.csv steht eine Datei für mich zum download bereit.

    1. was ist csv eigentlich?
    2. dann würde ich das als Link aufschreiben, und zwar http://www.download.de/verzeichnis_1/verzeichnis_2/datei.csv, und dort hin "gehen".

    Wenn ich auf die Seite gehe, kann ich diese Datei problemlos herunterladen (eine USER-ID und PW brauche ich dazu nicht).
    Ich möchte aber diese Datei innerhalb eines Scripts herunterladen.

    wie schön, aber zu umständlich, wenn du sie auch persönlich runterladen kannst.

    Ich habe mir das folgendermaßen vorgestellt:
    <?php
      $link = ftp_connect("http://www.download.de/verzeichnis_1/verzeichnis_2/datei.csv ");
      if (!ftp_login($link, "", ""))
        die("Kann mich nicht einloggen.");
    ......
    ?>

    ehmmmmm, du gehtst hier über das http://-Protokoll zu dieser Datei und willst mit dem ftp-protokoll über php dahin? Das ist etwa so, als ob du zu einem Ort wo Fahrradabstellplätze sind hin willst, dir ein Auto und ein Fahrrad zur verfügung stehen, und du das Auto wählst. Es bringt dir nichts - es gibt einen fehler.

    Du hast auch in den folgenden versuchen versucht, den server über ftp anzusprechen.

    Also, die Datei könnte ja wohl genauso http://www.bla.de/datei1.xyz heißen. Dann kannst du deinen surfer ganz einfach weiterleiten, z.b. so: header("Location: http://www.bla.de/datei1.xyz"); oder du lässt php die datei holen und gibts sie dann an den browser, z.B. mit readfile("http://www.bla.de/datei.xyz");, hierbei musst du den mimetyp per header() evv. noch auf dein komisches cvs setzen.

    WauWau

    1. Hi Wauwau <-- was ein Nickname *SCNR*

      1. was ist csv eigentlich?

      Comma Seperated Values = Eine Möglichkeit eine Tabellenstruktur in eine Textdatei zu schreiben. Jede Zeile entspricht einer Tabellenreihe, die einzelnen Felder und deren Werte sind durch ein best. Trennzeichen i.d.R. ein Kommo, Semikolon oder Pipe getrennt. Zum Teil können die Werte auch in Anführungszeichen gesetzt...

      z.B. in etwa so:

      "ID";"Name";"Straße";"Ort";"Telefon";
      "1";"Hotzenplotz";"Sonnenallee 443";"Buxtehude";"064043/3355465"

      Grüsse AndreD

      1. Hi Wauwau <-- was ein Nickname *SCNR*

        schuldigung, aber immer noch besser als Kinast (scheiß nickname *g*)

        1. was ist csv eigentlich?
          Comma Seperated Values = Eine Möglichkeit eine Tabellenstruktur in eine Textdatei zu schreiben. Jede Zeile entspricht einer Tabellenreihe, die einzelnen Felder und deren Werte sind durch ein best. Trennzeichen i.d.R. ein Kommo, Semikolon oder Pipe getrennt. Zum Teil können die Werte auch in Anführungszeichen gesetzt...
          z.B. in etwa so:

        "ID";"Name";"Straße";"Ort";"Telefon";
        "1";"Hotzenplotz";"Sonnenallee 443";"Buxtehude";"064043/3355465"

        ach genau, stimmt! "Hab ich doch schon mal gesehen", dachte ich mir, genau. danke ;-)

        WauWau

  2. Hallo,

    Wie muss ich das richtig anstellen? Hat jemand eine Beispielscript ( mit dem manual und dclp-faq  komme ich leider nicht weiter)!

    Beispiel gibts net, aber ein paar Denkanstösse:

    Erstmal kucken ob die Datei verfügbar ist:
    http://de3.php.net/manual/de/function.file-exists.php

    Dateihandle erzeugen:
    http://de3.php.net/manual/de/function.fopen.php

    Datei einlesen
    http://de3.php.net/manual/de/function.fread.php

    Oder falls Du die Datei nur anzeigen, bzw. lokal speichern möchtest kannst Du auch diese in einen header() schreiben. Alles weitere hier:
    http://de3.php.net/manual/de/function.header.php

    Hoffe es hilft,
    Grüsse AndreD

    1. Vielen Dank für Eure Bemühungen, ich habe das Problem mit fgets() lösen können. Gruß martin