Dateiupload

  • Moin Gemeinde,


    folgendes Problem:


    Ich möchte auf meiner Seite vom Benutzer pdf files hochladen lassen.
    Das upload Formular wurde mit HTML erstellt und funktioniert auch soweit, der upload selbst auch, die jeweilige Datei findet sich nach dem upload unter ihrem Originalnamen wieder auf meinem Server.
    Unten stehenden Code mal seziert:


    Zeile 1 legt die hochgeladene Datei unter ihrem Originalnamen auf den Server,
    Zeile 2 gibt die Rückmeldung, dass selbiges passiert ist und gibt auch den korrekten Namen aus,
    Das Problem existiert in
    Zeile 3, die einen anklickbaren link erzeugen soll, so dass man sich das pdf direkt anschauen kann. Ich vermute, das Problem liegt bei den Hochkommata.
    Es wird folgende Fehlermeldung vom Browser ausgegeben:


    Not Found
    The requested URL /DienstplanJuli2015.pdftitle='Hier was not found on this server.


    Wo liegt mein Fehler??
    Und warum wird mein code nicht korrekt formatiert, obwohl ich die jeweiligen Tags nutze?




    PHP
    copy($_FILES["upfile"]["tmp_name"],$_FILES["upfile"]["name"]);		echo "<p>Datei wurde kopiert in " . $_FILES["upfile"]["name"] . "<br />"; echo "<a href=" . $_FILES['upfile']['name'] . "title='Hier klicken'>PDF Dokument lesen</a></p>";
  • Du hast vollkommen richtig erkannt, das das Problem bei den Hochkommata liegt.


    Ich frage mich nur, warum du es nicht behebt ;p


    Du benutzt beim echo doppelte Hochkommata um den auszugebenden String zu definieren, dann unterbrichst du den String mit erneuten doppelten Hochkommata um deine Variable einzufügen.


    Aber du setzt keine Hochkommata für den wirklichen Wert des href-Attributes, somit wird dann einfach nur

    Zitat

    <a href=http://link.de/test.pdftitle=...

    ausgegeben.


    Umd as auszugeben, was du möchtest musst du entweder noch einpaar doppelte Hochkommata einfüpgen und diese Maskieren oder du benutzt einfach Hochkommata.


    So hier:

    PHP
    echo "<a href='" . $_FILES['upfile']['name'] . "' title='Hier klicken'>PDF Dokument lesen</a></p>";


    oder so hier:

    PHP
    echo "<a href="" . $_FILES['upfile']['name'] . "" title='Hier klicken'>PDF Dokument lesen</a></p>";


    In der zweiten Variante muss vor das zweite und vor das 5. doppelte Hochkomma ein Backslash (die werden hier im Forum aber dummerweise scheinbar rasugefiltert 8|8|


    Ist beides ungetet, müsste aber so funktionieren.


    Beste Grüße

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!