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-ID: 266854

Url: https://administrator.de/forum/eine-datei-in-php-anzeigen-266854.html

Ausgedruckt am: 24.12.2024 um 02:12 Uhr

114757
114757 19.03.2015 um 15:42:59 Uhr
Goto Top
eisbein
eisbein 19.03.2015 aktualisiert um 16:06:46 Uhr
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
manuuel
manuuel 19.03.2015 um 16:00:44 Uhr
Goto Top
Die Seite kenne ich, wie kann ich die Datei anzeigen lassen ?

Gruß
manu
eisbein
eisbein 19.03.2015 um 16:04:28 Uhr
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
colinardo
Lösung colinardo 19.03.2015, aktualisiert am 20.03.2015 um 06:08:20 Uhr
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