manuuel
Goto Top

Eine Datei in php anzeigen

Hallo,

ich kenne mich leider nicht so gut aus in PHP, deshalb bräuchte eure Hilfe, ich bedanke mich schon im Vorraus !

Ich möchte folgendes reaslisieren und zwar habe ich eine einfache index.html Seite mit einem Bild darauf und möchte, dass wenn man das Bild anklickt, im Ordner /var/www nach der Datei a.info gesucht wird und falls diese existiert soll sie neben dem Bild anzeigt werden.

Das Such-Script :

<?php
   foreach (glob("*.info") as $filename) {  
   echo "$filename size " . filesize($filename) . "\n";  
}
?>


Wie kann man das realisieren ?

Gruß
manuel

Content-Key: 266854

Url: https://administrator.de/contentid/266854

Printed on: April 24, 2024 at 09:04 o'clock

Mitglied: 114757
114757 Mar 19, 2015 at 14:42:59 (UTC)
Goto Top
Member: eisbein
eisbein Mar 19, 2015 updated at 15:06:46 (UTC)
Goto Top
Hallo!

Die Datei index.html befindet sich auch im Verzeichnis /var/www ?
Der Dateiname ist flexibel oder immer a.info?

Zum Verständnis:
PHP wird am Server ausgeführt und liefert das Ergebnis zum Client (Browser)
Erst dann kannst du auf einen Link/Bild etc. klicken.
Um diese Ereignisse abzufragen benötigst du JavaScript, das wird beim Client ausgeführt.

Somit benötigst du auch JavaScript.

Zuerst musst du in PHP prüfen ob die Datei vorhanden ist

Den Dateinamen kannst du dann in einer Variable speichern. zB. $Variable

Die Ausgabe der Datei wird mit JavaScript umgesetzt

HTML
<img src='bild.jpg' onclick='function_click'><span id='Ausgabe'></span>  

JavaScript
<script type="text/javascript">  
function function_click()
{
   document.getElementById("Ausgabe").innerHTML="<?php echo $Variable; ?>";  
}
</script>

Gruß
Eisbein
Member: manuuel
manuuel Mar 19, 2015 at 15:00:44 (UTC)
Goto Top
Die Seite kenne ich, wie kann ich die Datei anzeigen lassen ?

Gruß
manu
Member: eisbein
eisbein Mar 19, 2015 at 15:04:28 (UTC)
Goto Top
wie kann ich die Datei anzeigen lassen ?

<?php
$userdatei = fopen("datei.txt","r");  
while(!feof($userdatei))
   {
   $zeile = fgets($userdatei,1024);
   echo $zeile;
   }
fclose($userdatei);
?>

Googel-Gruß
Eisbein
Member: colinardo
Solution colinardo Mar 19, 2015, updated at Mar 20, 2015 at 05:08:20 (UTC)
Goto Top
Hallo manu,
hier ein einfaches Beispiel mit Ajax:
back-to-topHTML-Datei
<!doctype html>
<html>
<head>
<meta charset="utf-8">  
<title>Click Image</title>
</head>
<script type="text/javascript">  
	function check_file(){
		var url = "http://localhost/check_for_file.php";  
		var xhr = new XMLHttpRequest();
		xhr.open('GET',url,true);  
		xhr.onload = function(e) {
			document.getElementById("content").innerHTML = this.responseText;  
		}
		xhr.send();
	}
</script>
<body>

<div id="wrapper" style="width:100%">  
	<div style="width:250px; float:left;cursor:pointer"><img src="https://www.domain.tld/images/categories/windows_8-240x130.jpg" onclick="check_file()"/></div>  
	<div id="content" style="float:left; border:1px solid gray;"></div>  
</div>
</body>
</html>
back-to-topPHP-Datei (check_for_file.php)
<?php
header('Content-Type: text/html; charset=utf-8');  
$file = "./a.info";  
if(file_exists($file)){
	$raw = file_get_contents($file);
	$content = mb_convert_encoding($raw, 'UTF-8',mb_detect_encoding($raw, 'UTF-8, ISO-8859-1', true));  
	echo "<pre>".$content."</pre>";		  
}else{
	echo "Datei wurde nicht gefunden!";	  
}
?>
Grüße Uwe