2016-05-05 9 views
1

Ich hoffe, dass mir jemand dabei helfen wird. Ich brauche nämlich einen PHP-Code, der Bilder auf einer HTML/PHP-Seite basierend auf ihrer ID anzeigt. Zum Beispiel: die Datei ShowPicture.php, und der Code in es so etwas wie diese:Zeige viele Bilder mit einer PHP-Datei

PictureID = "MyPicture1" 
MyPicture1_Source = "/Pictures/Picture1.jpg"; 
PictureID = "MyPicture2" 
MyPicture2_Source = "/Pictures/Picture2.png"; 
PictureID = "MyPicture3" 
MyPicture3_Source = "/Pictures/Picture3.gif"; 
PictureID = "MyPicture4" 
MyPicture4_Source = "/Pictures/Picture4.bmp"; 

Beispiel für die Verwendung auf den Seiten:

HTML/PHP PAGE 1: <IMG src="ShowPicture.php?id=MyPicture4"> 
HTML/PHP PAGE 4: <IMG src="ShowPicture.php?id=MyPicture2"> 
HTML/PHP PAGE 2: <IMG src="ShowPicture.php?id=MyPicture3"> 
HTML/PHP PAGE 3: <IMG src="ShowPicture.php?id=MyPicture1"> 

ich zur Zeit keinen Code verwenden, da ich es nicht täte finden Sie gut genug, was zu diesem besonderen Bedürfnis von mir passt. Die Datei sollte etwas wie Facebooks rsrc.php Datei sein, die alle Grafiken für die Website abruft, während der echte Quellpfad ausgeblendet wird.

BEARBEITEN: Ich brauche keine Sessions oder Cookies, ich möchte, dass die Bilder dauerhaft auf Seiten über PHP angezeigt werden, auch nachdem der Benutzer die Seiten aktualisiert/neu geladen hat.

EDIT 2: Nein (Mein) SQL. Die PHP-Datei selbst und allein muss eine Art von Datenbank für Speichern und Anzeige von Bildern sein.

+0

Werfen Sie einen Blick auf meine Antwort zu dieser Frage: [Holen von privaten Dateien oder Anzeigen von privaten Bildern in einer HTML-Seite] (http://stackoverflow.com/questions/32410732/gettings-private-files-or-showing-private -images-in-a-html-Seite/32412736 # 32412736). Es ist nicht zu 100% das Gleiche, aber Sie sollten die Idee leicht verstehen können, was Sie wollen. Der Code hält den aktuellen Pfad zu Bildern zu 100% sicher. Auch wenn Sie den direkten Link zum Bild kennen, können Sie nicht darauf zugreifen. – icecub

+1

Sie wollen also grundsätzlich eine sichere Möglichkeit, Bilder anzuzeigen, aber Sie möchten nicht die dafür benötigten Werkzeuge verwenden? Zeigen Sie uns in diesem Fall, was Sie selbst versucht haben. Denn wie Sie wissen, ist SO hier, um bei Problemen mit Ihrem Code zu helfen. Nicht um deine Arbeit für dich zu tun. – icecub

+0

@icecub Ich habe noch nichts ausprobiert, weil es keinen passenden Code gibt. Ich erwarte nicht, dass du den Job für mich tust, wenn du nicht geschickt genug bist. Deshalb habe ich nah genug erklärt, was ich brauche, wenn es so erreicht werden kann. –

Antwort

1

Ich wollte, dass Sie efford in sich selbst setzen. Stack Overflow soll Ihnen helfen, wenn Sie Probleme mit Ihrem Code haben. Es ist nichts für Leute, die nur wollen, dass ein Programmierer die ganze Arbeit für sie erledigt. Wie auch immer, ich habe ein paar Minuten gedauert es jetzt für Sie tun, so ist es hier:

<?php 

$id = $_GET["id"]; 

switch($id){ 
    case "MyPicture1": 
     $file = "img/img1.jpg"; 
     break; 
    case "MyPicture2": 
     $file = "img/img2.jpg"; 
     break; 
    case "MyPicture3": 
     $file = "img/img3.jpg"; 
     break; 
    case "MyPicture4": 
     $file = "img/img4.jpg"; 
     break; 
    default: 
     echo "Invalid ID given!"; 
     exit; 
} 

if(file_exists($file)){ 
    $size = getimagesize($file); 
    $fp = fopen($file, 'rb'); 

    if($size and $fp){ 
     header('Last-Modified: '.gmdate('D, d M Y H:i:s', filemtime($file)).' GMT'); 
     header('Content-Type: '.$size['mime']); 
     header('Content-Length: '.filesize($file)); 

     fpassthru($fp); 
    } 

    exit; 
} else { 
    echo "File not found!"; 
} 

?> 

Sie es sich weiter ändern können.

+0

Danke. Ich bin immer noch ein Neuling mit PHP. –

+0

@ DejanVasiljević Kein Problem. Bitte klicken Sie auf "Antwort annehmen" neben der Antwort. Es ist eine Möglichkeit, demjenigen, der Ihnen geholfen hat, Ihre Wertschätzung zu zeigen und sicherzustellen, dass Ihre Frage nicht für immer unbeantwortet bleibt. – icecub

+0

Natürlich werde ich, sobald ich dies klären/beheben: Ich habe mein Bild mit geladen und es so gerendert: http://s32.postimg.org/3pg24o5vp/2016_05_05_225424.jpg Es ist voller Pfad, aber immer noch gewonnen ' t laden. Wenn ich den vollständigen Pfad des Bildes in der URL-Leiste eingebe, wird er normal geladen. Nun, ich frage mich, ist es ein .htaccess Problem oder das Problem in Ihrer Datei? –

Verwandte Themen