PHP Galeriescript funktioniert nicht mehr

Alles, was PHP betrifft, kann hier besprochen werden.

PHP Galeriescript funktioniert nicht mehr

Postby cng » 18. July 2007 06:49

hallo zusammen

ich verwende XAMPP für Windows Version 1.5.5 und habe ein proglem mit einem php galeriescript, welches vor der neuinstallation des rechners funktionierte. das selbe problem habe ich auch zuhause. ich hatte nen linuxrechner und habe aus zeitlichen gründen auf ein plesk 8.1.1 (Windows) bei einem provider gewechselt.

das problem ist, dass zwar die thumbernails angezeigt werden, die grossen bilder jedoch nicht. ich bin ein absoluter anfänger in php und ich habe auch schon den ersteller kontaktiert (keine antwort) -> http://v17.plohni.com/?fetch=fertigescripte

ich gehe davon aus dass es an den einstellungen des webservers liegen muss, bin mir aber nicht sicher. hier nun die einzelnen seiten:

index.php
Code: Select all
<?
/*############### INSTALLATION ###############*/

// 1. Variablen in config.php anpassen

// 2. Dateien im ASCII Modus auf den Server kopieren

// 3. Datei aufrufen mit index.php?g=[Ordner]&t=[Titel], zB index.php?g=example&t=ExampleGallery
//    Mit Javascript: <a href="index.php?g=example&t=ExampleGallery" target="imagegallery" OnClick="window.open('','imagegallery','scrollbars=no,width=776,height=650')">ExampleGallery</a>

/*############### SCRIPT ###############*/
//Konfiguration laden
  include("config.php");

//Content ausgeben
  echo "
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//CH-DE'>
<html>
  <head>
    <title>" . $title . " (" . $t . ")</title>
    <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'>
     <frameset rows='*,120' border='0' frameborder='0' framespacing='0'>
      <frame src='main.php?g=" . $g . "&t=" . $t . "' name='main' noresize marginwidth='0' marginheight='0' scrolling='no'>
      <frame src='nav.php?g=" . $g . "&t=" . $t . "' name='nav' noresize marginwidth='0' marginheight='0' scrolling='auto'>
    </frameset>
       <noframes>
      <body>
        Diese Seite benötigt einen Browser mit Frameunterstützung.
      </body>
    </noframes>
  </head>
</html>
  ";
?>


nav.php
Code: Select all
<?
//Konfiguration laden
  include("config.php");

//Content ausgeben
  echo "
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//CH-DE'>
<html>
  <head>
    <title>" . $title . " (" . $t . ")</title>
   <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
  </head>
  <body onLoad=\"OnLoad()\" onMousemove=\"move()\" \"init();\">
    <center>
      <br>" . $t . "
  ";

  $path = opendir($img_folder . $g);
  while($file = readdir($path))
    if($file != "." && $file != ".." && $file != "thumbs")
      $files[] = $file;

   sort($files);

    echo "
       <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"400px\" height=\"17px\">";

  foreach($files as $f)

   echo "
   <td>
   <a href=\"main.php?g=" . $g . "&f=" . $f . "&t=" . $t . "\" target=\"main\"><img src=\"" . $img_folder . $g . "/thumbs/" . $f . "\" alt=\"" . $f . "\" class=\"thumb\"></a>&nbsp</td>";

  echo "
  </tr></table>
  </body>
</html>
  ";
?>


main.php
Code: Select all
<?
//Konfiguration laden
  include("config.php");

//Content ausgeben
  echo "
<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//CH-DE'>
<html>
  <head>
    <title>" . $title . " (" . $t . ")</title>
    <meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
  </head>
  <body>";

  if($f)
    echo "
    <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" height=\"100%\">
      <tr>
        <td width=\"100%\" height=\"100%\" align=\"center\"><img src=\"" . $img_folder . $g . "/" . $f . "\" border=\"1\" alt=\"" . $f ."<br>". $text. "\"></td>
      </tr>
    </table>";
  else
    echo "&nbsp;";

  echo "
  </body>
</html>
  ";
?>


config.php
Code: Select all
<?
//Variablen
  $title = "titel";                                      //Titel
  $img_folder = "example/";                  //Ordner, der die Bilderordner enthält (mit abschließendem "/")
  $text = "text.csv";                  //Beschreibung zum Foto
?>


ich habe auch schon nach andern scripten geschaut, fand aber nichts was - wenns funktionieren würde - so einfach ist wie dieses und genau dem entspricht, was ich gerne möchte.

ich danke schon zum voraus für eure hilfe

liebe grüsse
michael
User avatar
cng
 
Posts: 11
Joined: 13. December 2005 07:46
Location: Bolligen / Bern / Schweiz

Postby Hanspeter Thöni » 18. July 2007 07:12

Wie immer
Code: Select all
register_globals


Bitte hier lesen http://faq.kwm-web.info/doku.php/php#register_globals

Im prinzip gibt es 2 Möglichkeiten
- Register_globals einschalten (sofern dein Provider das erlaubt).
- Code anpassen also
statt
Code: Select all
$t
neu schreiben
Code: Select all
$_GET['t']

Dies betrifft sämtliche Variablen die per GET (im URL-String) übergeben wird.

Die 2. Variante ist unbedingt zu bevorzugen. Zumal das Register_Globals in späteren PHP-Versionen wohl definitiv entfernt wird.
Gruss Hanspeter
User avatar
Hanspeter Thöni
 
Posts: 233
Joined: 17. August 2004 10:29
Location: Schweiz

Postby cng » 18. July 2007 09:33

hallo hanspeter

ohje. jetzt wo ich es lese, kommt mir dies bekannt vor :oops:
ohne deinen hinweis währe ich wohl nicht darauf gekommen. merci!
jetzt funktioniert es jedenfalls :D

was ich aber noch nicht geschafft habe ist, dass zum jeweiligen bild die ensprechende beschreibung hinzugefügt wird. ich hatte in der config.php den eintrag
Code: Select all
$text = "text.csv";
,welcher ich in text.txt umbenannt habe.

das textfile ist wie folgt aufgebaut = bildername.jpg;text zum bild

da ich es scho nicht schaffte, versuchte ich es mit dieser if-abfrage
Code: Select all
if (is_file($image_path . 'example/text.txt')) {
    $fp = fopen($image_path . 'example/text.txt', "r");
    $row = '';
    $use_order_file = 'true';

    while ($data = fgetcsv ($fp, 1000, ';')) {
        $image_data[] = trim($data[0]);
        $image_file_names[trim($data[0])] = trim($data[0]);
        $num = count($data);
        $row++;

        for ($j = 0; $j < $num; $j++) {
            $content_data_temp['field_' . $j] = $data[$j];
        }

        $content_data[] = $content_data_temp;
        $content_data_temp = '';
    }
    fclose ($fp);
} else if (is_dir($image_path)) {
    $content_data = '';
    $handle = opendir($image_path);

    while ($file = readdir($handle)) {
        if (preg_match("/^\.{1,2}$/i", $file)) {
            continue;
        }
        if (preg_match("/\.[a-z]{3}$/i", $file)) {
            $image_data[] = $file;
            $image_file_names[$file] = $file;
        }
    }
    closedir($handle);
} else {
    echo 'Pfad zum Bildverzeichnis nicht korrekt.';
    exit;
}


naja. auch so schafte ich es nicht. kann mir jemand damit helfen?

ich danke für jegliche hilfe

gruss
michael
User avatar
cng
 
Posts: 11
Joined: 13. December 2005 07:46
Location: Bolligen / Bern / Schweiz


Return to PHP

Who is online

Users browsing this forum: No registered users and 55 guests