2017-03-27 4 views
1

Meine Website ermöglicht dem Benutzer, Foto hochladen. Der Upload-Code in public_html/fileupload.phpAbrufen Bild eine Ebene höher von public_html

Der Pfad im fileupload.php platziert ist ../user_upload/abc/

ich den Ordner sah user_upload/abc erstellt wurde, aber mein HTML ist nicht in der Lage innerhalb des Bildes abzurufen. Der HTML-Code ist <img src="../user_upload/abc/myphoto1.jpeg">

Es zeigt Fehler 404

+0

Technisch ist Ihr Webserver in public_html "rooted" und da er nicht erlaubt ist, etwas außerhalb von 'public_html' zu liefern, erhalten Sie 404. Sie könnten einen Symlink von Ihrem Upload-Ordner in Ihren public_html machen und trotzdem PHP mitteilen um die Datei in Ihr ABC zu schieben und es durch den Symlink zu lesen, lassen Sie say/public_html/linkToAbc –

Antwort

2

Ihre Bildordner außerhalb des public_html Verzeichnis ist, damit es nicht über eine URL geladen werden kann. Dateien außerhalb von public_html sind davor geschützt, im Web angezeigt zu werden.

Verschieben Sie es in das Verzeichnis public_html, wenn Sie die Bilder auf Ihrer Website angezeigt haben möchten.

+0

Oder machen Sie einen Symlink (wenn Sie ihnen folgen dürfen) –

+0

@LouisLoudogTrottier Das würde den Zweck der Erstellung eines Verzeichnisses außerhalb des public_html-Ordners vereiteln mit der Erwartung, dass es vor webbasierten Angriffen geschützt ist. Wenn Sie das Verzeichnis in den Ordner public_html verschieben und php_flag engine in der .htaccess-Datei des Image-Ordners deaktivieren, um die Ausführung von PHP zu deaktivieren, wäre dies einfacher, einfacher und strukturierter. – Drewby

+0

nicht wirklich, meine Website hat nicht einmal eine öffentliche html – Rico

Verwandte Themen