Hallo,
ich habe mir ein Bildergalerie-Script aus den Codeschnipseln geholt. Auf dem Server von meinem Bekannten läuft es ohne Probleme, aber auf meinem Server nicht.
Ich bekomme den Fehler: Warning: open_basedir restriction in effect. File is in wrong directory in...... on line 68, on line 78
und zusätzlich readdir(): supplied argument is not a valid Directory resource in /home/httpd/vhosts/test.de/httpdocs/GALLERY/gal.php on line 86
Mir ist aufgefallen, dass der Script-Teil:
Pfad=pathinfo($_SERVER['PATH_TRANSLATED']);
$Pfad=$Pfad["dirname"]."/";
einen leeren Pfad (nur /) zurückgibt. Kann mir jemand sagen woran das liegt?
Hier das Script:
ich habe mir ein Bildergalerie-Script aus den Codeschnipseln geholt. Auf dem Server von meinem Bekannten läuft es ohne Probleme, aber auf meinem Server nicht.
Ich bekomme den Fehler: Warning: open_basedir restriction in effect. File is in wrong directory in...... on line 68, on line 78
und zusätzlich readdir(): supplied argument is not a valid Directory resource in /home/httpd/vhosts/test.de/httpdocs/GALLERY/gal.php on line 86
Mir ist aufgefallen, dass der Script-Teil:
Pfad=pathinfo($_SERVER['PATH_TRANSLATED']);
$Pfad=$Pfad["dirname"]."/";
einen leeren Pfad (nur /) zurückgibt. Kann mir jemand sagen woran das liegt?
Hier das Script:
PHP-Code:
<?php
/*
******************************************************************************************************
** **
** Nie war es so einfach eine Bildergalerie in eine Website einzubauen **
** Einfach dieses Script in das Verzeichnis in welchem sich die Bilder befinden **
** speichern und aufrufen. Es wird automatisch ein Verzeichnis für **
** Tumbnails erzeugt und selbige generiert. **
** Sind die Tumbnails einmal erzeugt geschieht dies nur noch wenn neue **
** Bilder hinzukommen. Es werden auch nur die Tumbnails angezeigt, für **
** welche auch Originaldateien bestehen. **
** Der erste Aufruf kann etwas länger dauern, da der Server die Bilder neu **
** erstellt. Vorsicht bei riesigen Bildersammlungen, da kann man dem Server **
** auch ganz schön den Zahn ziehen. **
** Die Bilder sind mit Links hinterlegt, welche ein neues Fenster mit der **
** Originaldatei erzeugen. **
** Tumbnailgröße, Rahmenstärke, Bilder je Zeile können einfach per Variablen- **
** deklaration geändert werden. **
** Sollte Ihr PHP den Befehl 'imagecreatetruecolor' nicht kennen, einfach **
** durch 'imagecreate' ersetzen. **
** Leider funktioniert das Script nur bei JPG, aber da die meisten Webbilder **
** eh JPG sind sollte das kein PRoblem darstellen. Wer andere Bildformate **
** braucht kann sich das Script gerne anpassen **
** Für langsame Server sollten evtl. die Komentare entfernt werden **
** um die Laufzeiten zu verringern. **
** **
** Das Script wird von [url]www.weingut-hoerner.de[/url] als Freeware bereitgestellt. **
** **
******************************************************************************************************
*/
header("Cache-Controll: no-cache, must revalidate");
header("Content-type: image/PNG");
$f = session_id();
if($f == "") session_start();
?>
<HTML>
<HEAD>
<meta http-equiv="expires" content="0">
<meta http-equiv="Cache-Control" content="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
<META HTTP-EQUIV="Pragma-directive" CONTENT="no-cache">
<META HTTP-EQUIV="cache-directive" CONTENT="no-cache">
<TITLE>Bildergalerie(No Cache)</TITLE>
</HEAD>
<!-- Seitenbeginn mit Hintergrundfarbe -->
<BODY BGCOLOR='#ffffd2'>
<FONT FACE='arial'>
<?php
$Pfad=pathinfo($_SERVER['PATH_TRANSLATED']);
$Pfad=$Pfad["dirname"]."/";
$Bildzaehler=0;
//echo $Pfad;
// Variablendeklaration ----------------------------------------------------------------
$Tumbnailbreite = 150; // <--- Zentrale Angabe der Etikettenbreite in Pixel
$BilderZeile = 5; // <--- Anzahl der Bilder je Zeile
$Rahmenbreite = 1; // <--- Rahmenbreite um Bilder einstellen
//Bilder abrufen und Tumbnails erstellen -------------------------------------------
$verz=opendir("/");
$Bildtitel="<TR>";
/*
*******************************************************
** Tumbnailordner abfragen und **
** wenn nicht vorhanden anlegen **
*******************************************************
*/
if (!is_dir($Pfad."TN")){
mkdir($Pfad."TN",0700);
}
/*
*******************************************************
** Bilder einzeln durchgehen **
*******************************************************
*/
print"<TABLE><TR>"; //<-------------------------- Tabelle beginnen !!!!!!
while ($Datei=readdir($verz)){
if (is_file($Datei)){
$Dateierweiterung=pathinfo($Datei);
$Dateierweiterung=$Dateierweiterung["extension"];
if (strlen($Datei)>3 && $Datei<>"Thumbs.db"){
if ($Dateierweiterung=="jpg" or $Dateierweiterung=="JPG"){
// Bilddaten feststellen
/*
*******************************************************
** Tumbnail abfragen und **
** wenn nicht vorhanden anlegen **
*******************************************************
*/
if (is_file("$Datei")){
$Bildzaehler++;
if ($Bildzaehler>$BilderZeile){
print"</TR><TR>";
$Bildzaehler=1;
Echo $Bildtitel;
print"</TR><TR>";
$Bildtitel="<TR>";
}
if (!is_file($Pfad."TN/"."TN".$Datei)){ // Nur ausführen wenn der Tumbnail für dieses Bild nicht verfügbar ist
$size=getimagesize($Datei);
$breite=$size[0];
$hoehe=$size[1];
$neueBreite=$Tumbnailbreite;
if ($breite<$hoehe){
$neueBreite=$neueBreite*0.70;
}
$neueHoehe=intval($hoehe*$neueBreite/$breite);
$altesBild=ImageCreateFromJPEG($Pfad.$Datei);
$neuesBild=imagecreatetruecolor($neueBreite,$neueHoehe); // Berechnen der Tumbnailmasse
ImageCopyResized($neuesBild,$altesBild,0,0,0,0,$neueBreite,$neueHoehe,$breite,$hoehe); // Bilddaten skaliert in Tumbnail kopieren
ImageJPEG($neuesBild,$Pfad."TN/"."TN".$Datei,"50"); // JPG-Datei Tumbnail erzeugen
}
}
print "<TD><CENTER><A HREF='$Datei' TARGET='_blank'><IMG SRC='"."TN/"."TN".$Datei."' BORDER=$Rahmenbreite></A></CENTER></TD>".chr(13);
$Bildtitel=$Bildtitel."<TD><CENTER>$Datei</CENTER></TD>";
}
}
}
}
print $Bildtitel;
print "</TABLE>";
?>
</BODY>
</HTML>
Kommentar