Hilfesucher: Uploadskript "Lokal Hochladen"

Hallo!
Ich bin total verzweifelt. Seit Tagen suche ich nach allmöglichen Hilfen, Foren und Skripten.
Ich soll irgendeine Datei Hochladen.
Dafür benutzte ich diesen Button:

<form action="http://www.inf.uos.de/se/publications/all_journals.html" target="iframe">
  <input type="file" name="publications.php.de" accept="all/*" required>
  <input type="submit">
</form>

Und ich soll jetzt mithilfe von PHP, womit ich zuvor noch nichts gemacht habe, eine Datei mit diesem Button Lokal auf meine Festplatte "Hochladen".
Wie mache ich das genau, denn ich muss gestehen, damit kenne ich mich überhaupt nicht aus.
Bitte um Ausführung für Laien, danke...

  1. Hallo,

    Und ich soll jetzt mithilfe von PHP, womit ich zuvor noch nichts gemacht habe, eine Datei mit diesem Button Lokal auf meine Festplatte "Hochladen".

    Ich vermute, Du willst eine Datei VON deiner Festplatte AUF einen Server hochladen?
    Andernfalls wäre es ja ein HERUNTERLADEN, was Du über einen einfachen Link realisieren kannst, da brauchst Du kein PHP für.

    Für das Hochladen von Dateien per PHP gibt zahlreiche Tutorials und Beschreibungen, was hast Du davon schon probiert und wo genau hakts?

    1. Hallo,

      Und ich soll jetzt mithilfe von PHP, womit ich zuvor noch nichts gemacht habe, eine Datei mit diesem Button Lokal auf meine Festplatte "Hochladen".
      Ich vermute, Du willst eine Datei VON deiner Festplatte AUF einen Server hochladen?
      Andernfalls wäre es ja ein HERUNTERLADEN, was Du über einen einfachen Link realisieren kannst, da brauchst Du kein PHP für.

      Für das Hochladen von Dateien per PHP gibt zahlreiche Tutorials und Beschreibungen, was hast Du davon schon probiert und wo genau hakts?

      Mein Praktikumsbetreuer sagte mir ich solle versuchen mit diesem Button den ich schon habe, eine (HTML) Datei "Lokal" hochzulanden, den Serve soll ich aber außenvor nehmen. Geht das überhaupt? Ich suche schon seit Tagen bei Google, aber ich habe einfach keine Ahnung wie das funktionieren soll...Mein P.Betreuer will halt einen Upload Button mit dem man Dateien Lokal hochladen und anzeigen lassen kann, ich weiß aber nicht genau was er mit Lokal meint. Es ist ja halt so das der Button mit dem action Attribut auf die Seite von Server verweist. Gibt es eine Möglichkeit anstelle des Servers die Datei dann auf C:\ runterzuladen? Wenn ich file:///c:
      nehme dann reagiert der Button nicht. Ich habe auch schon versucht das als Download darstellen zu lassen, aber da es eine HTML Datei ist, werde ich immer auf diese Seite gebracht.

      Danke trotzdem schonmal für die Antwort!

      1. Hallo,

        Mein Praktikumsbetreuer sagte mir ich solle versuchen mit diesem Button den ich schon habe, eine (HTML) Datei "Lokal" hochzulanden, den Serve soll ich aber außenvor nehmen. Geht das überhaupt?

        Also, ich wüsste nicht, wie. Du kannst natürlich diesen Button einbauen und als Zeilseite eine lokale Seite nehmen. Dann passiert halt de facto kein upload, du kannst damit nur "so tun als ob" (die Datei wird dann beim Versenden des Formulars zwar übertragen aber auf der Gegenseite dann einfach "weggeschmissen").

        Wenn die Datei aber irgendwo hin geschrieben/kopiert werden soll (und seis auch nur lokal), brauchst Du IMO einen Server, der die Datei entgegennimmt (mit PHP/J2EE/Perl oder welcher Technologie auch immer - ich wüsste nicht, dass man das ganze lokal lösen kann (ausser auf dem eigenen Rechner einer HTTP-Server zu installieren :) ).
        Vielleicht gibt es irgendwelche Tricks mit denen man da lokal irgendweas anstossen kann, würde mich aber wundern (schon aus Sicherheitsgründen wäre das ja fatal, wenn Du mit einer Webseite irgendwelche lokalen Kopieraktionen anstossen könntest).

        Sorry, da bin ich überfragt.

      2. Das, was Du uns schreibst, widerspricht sich inzwischen derart, dass eine zielführende Antwort nicht mehr möglich scheint.

        Mal "mit PHP" (wovon Du nach Deinen Worten nichts verstehst), dann "den Server außen vor lassen".

        Vermutlich solltest Du dem Praktikumsbetreuer mitteilen, dass Dir elementare Vorkenntnisse fehlen und Du an der Aufgabe deshalb zwingend scheitern wirst. Mal eben noch die Grundkenntnisse zu erwerben ist auch nicht der Sinn des Praktikums sondern Gegenstand der vorherigen Ausbildung. Im Praktikum soll Erlerntes angewendet und durch Erfahrungen ergänzt werden.

        Jörg Reinholz

        1. Das, was Du uns schreibst, widerspricht sich inzwischen derart, dass eine zielführende Antwort nicht mehr möglich scheint.

          Mal "mit PHP" (wovon Du nach Deinen Worten nichts verstehst), dann "den Server außen vor lassen".

          Vermutlich solltest Du dem Praktikumsbetreuer mitteilen, dass Dir elementare Vorkenntnisse fehlen und Du an der Aufgabe deshalb zwingend scheitern wirst. Mal eben noch die Grundkenntnisse zu erwerben ist auch nicht der Sinn des Praktikums sondern Gegenstand der vorherigen Ausbildung. Im Praktikum soll Erlerntes angewendet und durch Erfahrungen ergänzt werden.

          Jörg Reinholz

          Ja ganz genau so sehe ich das auch...Ich möchte nur keine schlechte Bewertungen bekommen...
          Naja trotzdem vielen Dank!!

  2. Tach!

    Ich soll irgendeine Datei Hochladen.

    "Lokal hochladen" wäre im Prinzip ein Kopieren. Hochladen bedeutet vom Client zum Server, das ist aber nicht lokal (außer wenn zu Testzwecken der Server auf demselben Rechner läuft).

    Dafür benutzte ich diesen Button:

    <form action="http://www.inf.uos.de/se/publications/all_journals.html" target="iframe">
      <input type="file" name="publications.php.de" accept="all/*" required>
      <input type="submit">
    </form>

    Das ist kein Button sondern ein Formular für ganz normale Dateneingabe. Für Dateiübertragungen braucht es zum einen die Methode POST (ohne method-Attribut ist GET die Voreinstellung) und einen anderen enctype (als den Default-Wert). In diesem Formular befinden sich ein Eingabeelement zur Auswahl einer Datei (nebst eigenem Button) und ein Submit-Button.

    Und ich soll jetzt mithilfe von PHP, womit ich zuvor noch nichts gemacht habe, eine Datei mit diesem Button Lokal auf meine Festplatte "Hochladen".

    PHP muss auch nur die Datei in Empfang nehmen. Das Hochladen ist Thema des Browsers, wofür er korrektes HTML benötigt. Alles zusammen ist in zahlreichen Tutorials, nicht zuletzt im PHP-Handbuch selbst beschrieben: Handling file uploads.

    Bitte um Ausführung für Laien, danke...

    Wenn du die Wortwahl deines Praktikumsbetreuers nicht verstehst, dann frag ihn, was er konkret meint. "Lokal hochladen" jedenfalls ergibt keinen Sinn.

    dedlfix.

    1. Tach!

      Ich soll irgendeine Datei Hochladen.

      "Lokal hochladen" wäre im Prinzip ein Kopieren. Hochladen bedeutet vom Client zum Server, das ist aber nicht lokal (außer wenn zu Testzwecken der Server auf demselben Rechner läuft).

      Dafür benutzte ich diesen Button:

      <form action="http://www.inf.uos.de/se/publications/all_journals.html" target="iframe">
        <input type="file" name="publications.php.de" accept="all/*" required>
        <input type="submit">
      </form>

      Das ist kein Button sondern ein Formular für ganz normale Dateneingabe. Für Dateiübertragungen braucht es zum einen die Methode POST (ohne method-Attribut ist GET die Voreinstellung) und einen anderen enctype (als den Default-Wert). In diesem Formular befinden sich ein Eingabeelement zur Auswahl einer Datei (nebst eigenem Button) und ein Submit-Button.

      Und ich soll jetzt mithilfe von PHP, womit ich zuvor noch nichts gemacht habe, eine Datei mit diesem Button Lokal auf meine Festplatte "Hochladen".

      PHP muss auch nur die Datei in Empfang nehmen. Das Hochladen ist Thema des Browsers, wofür er korrektes HTML benötigt. Alles zusammen ist in zahlreichen Tutorials, nicht zuletzt im PHP-Handbuch selbst beschrieben: Handling file uploads.

      Bitte um Ausführung für Laien, danke...

      Wenn du die Wortwahl deines Praktikumsbetreuers nicht verstehst, dann frag ihn, was er konkret meint. "Lokal hochladen" jedenfalls ergibt keinen Sinn.

      dedlfix.

      Vielen Dank erstmal für die Antworten! Ich habe ihn gefragt, und er meine mit Lokal Hochladen wohl sowas wie die Datei nach dem Hochladen im Browser (Lokal) anzeigen zu lassen. Wie gesagt, ich habe davon keine Ahnung... Ich werde mir wohl etwas anderes einfallen lassen müssen.

      Trotzdem vielen Dank!

      1. Tach!

        Ich habe ihn gefragt, und er meine mit Lokal Hochladen wohl sowas wie die Datei nach dem Hochladen im Browser (Lokal) anzeigen zu lassen. Wie gesagt, ich habe davon keine Ahnung... Ich werde mir wohl etwas anderes einfallen lassen müssen.

        Du lässt die Datei hochladen, so wie es in den Tutorials beschrieben steht. Den Inhalt dieser Datei lässt du anschließend im Browser anzeigen. Sprich: du gibt ihren Inhalt so aus, wie du mit PHP erzeugten Content an den Browser geben würdest. Das ist keine ganz leichte Aufgabe, denn je nach Inhalt der Datei (Text versus Binär-Kram) kommt etwas lesbares oder auch nur Datenmüll an. Üblicherweise bekommen Browser im HTTP-Haeder namens Content-Type mitgeteilt, um was für Daten es sich handelt. Diesen Content-Type aus einer hochgeladenen Datei zu ermitteln, ist irgendwo zwischen nicht ganz einfach und unmöglich angesiedelt. Im einfachsten Fall könnte man dem vertrauen, was der Browser mitteilt. Das kann man dann aber nur in einer geschützten Umgebung und keinesfalls im offenen Internet laufen lassen. - Ich würde das als Aufgabe keinem geben, der noch nicht mal grundlegende PHP-Kenntnisse hat. Zumindest nicht ohne danebenzusitzen und mit den notwendigen Anleitung zu versorgen.

        dedlfix.