Problem mit PDF im Browser anzeigen

Michelle85

Mitglied
Hallo !
Ich hab ein Problem und zwar speichere ich Pfadangaben von PDF's in einer MySQL Datenbank.
Diese lese ich dann in einer Vorschau Funktion aus und möchte dass man sich die PDF ansehen kann.

Leider habe ich keine Ahnung wie das gehen soll.
Ich hatte gelesen dass das mit Headern geht, aber leider kappt das auch nicht, den auf dem Bildschirm sind nur Hyroglyphen zu sehen !

Vielleicht liegt es ja aber auch an meiner Pfadangabe!

Kann mir bitte jemand helfen ?



Hier mal mein Quellcode:
PHP:
<?php
function vorschau(&$vorschau_id,&$table,&$time,&$date,&$Benutzername)
{   
  $table_art='idx_rech';

  // ID des Links aus DB holen
	$abfrage="SELECT link FROM $table_art WHERE ID = '$vorschau_id' "; 
  //in eine ARRAY schreiben
	$query =mysql_query($abfrage);	
	$row = mysql_fetch_array($query,MYSQL_BOTH  );
	$link_id=$row[0] ;

  //Pfad aus DB holen
	$abfrage_link= "SELECT Link_Pfad FROM link  WHERE ID ='$link_id' LIMIT 0 , 1 ";
  //in eine ARRAY schreiben
	$query_link =mysql_query($abfrage_link);	
	$row_link = mysql_fetch_array($query_link,MYSQL_BOTH  );
  // Pfadangabe in link gespeichert
  // Beispiel : C:/Programme/apachefriends/xampp/htdocs/projekt/testdateien/5RECH.pdf 
	$link=$row_link[0];
	
    
  header('Content-type: application/x-pdf');

  // Es wird in vorschau.pdf benannt
  header("Content-Disposition: attachment; filename=vorschau.pdf");

  // Die originale PDF Datei 
  readfile($link);
}
?>
 
Zuletzt bearbeitet:
Hab ne Lösung gefunden bei der das PDF im Adobe angezeigt wird .

Hier der Code :
PHP:
<?php
function vorschau(&$vorschau_id,&$table,&$time,&$date,&$Benutzername)
{   
  $table_art='idx_rech';

  // ID des Links aus DB holen
	$abfrage="SELECT link FROM $table_art WHERE ID = '$vorschau_id' "; 
  //in eine ARRAY schreiben
	$query =mysql_query($abfrage);	
	$row = mysql_fetch_array($query,MYSQL_BOTH  );
	$link_id=$row[0] ;

  //Pfad aus DB holen
	$abfrage_link= "SELECT Link_Pfad FROM link  WHERE ID ='$link_id' LIMIT 0 , 1 ";
  //in eine ARRAY schreiben
	$query_link =mysql_query($abfrage_link);	
	$row_link = mysql_fetch_array($query_link,MYSQL_BOTH  );
  // Pfadangabe in link gespeichert
	$link=$row_link[0];
	// öffnet Adobe mit PDF
  exec($link) ;


}
?>
 
Lass mich raten. Du hast das Script bei dir Lokal ausprobiert, stimmts?

Mit diesem Code wirst du nicht glücklich werden. die Funktion exec() für ausschließlich Programme auf dem Server aus. Lade das Script hoch und probiere es aus.
Entweder du bekommst eine Fehlermeldung, weil die Funktion deaktiviert wurde, oder der Serveradmin freut sich, weil er eine PDF Datei geöffnet auf dem Server sehen wird ;)

Wie das genau mit PHP funktioniert, weis ich nicht. Aber normalerweiße öffnet es auf dem PC, von dem aus die Datei aufgerufen wird, automatisch Adobe. Bei manchen Browsern auch direkt im Browser.
 

Neue Beiträge

Zurück