Variablen aus function "global" verwenden?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    Ich bin ziemlicher noob was php/mysql angeht... deshalb kenne ich mich vorallem mit Funktionen nicht besonders aus.

    Hier nochmal der gesammte Code:

    PHP-Code:
     /*****************************************************
      ** Bild ansehen
      *****************************************************/
    $titel NULL;
    function 
    pic_view(){
        global 
    $serverpfad;
        global 
    $bildordner;
        global 
    $url;
        global 
    $titel;
        
        
    // Auslesen der data.txt
        
    $handle fopen ($serverpfad.$bildordner.$_GET['kat']."/data.txt""r");
        while (
    $buffer fgets($handle4096)) {
        
    $array[] = $buffer;}
        
        
    // Sortiert den Array nach dem Datum
        
    $anzahl_bilder count($array);
        @
    rsort ($array);
        
    $data explode("==="$array[$_GET['bildnr']]);
        
    $datum date("d.m.Y - G:i:s"$data[0]);
        
        
    // Höhe und Breite des Bildes
        
    $breite_max 700;
        
    $hoehe_max 525;
        
                        
    $size=getimagesize($serverpfad.$bildordner.$_GET['kat']."/".$data[2]);
                        
    $breite=$size[0];
                        
    $hoehe=$size[1];
        
        if(
    $breite $breite_max){
                        
    $neueHoehe $hoehe_max;
                        
    $neueBreite intval($breite*$neueHoehe/$hoehe);
                        }else{
                        
    $neueBreite $breite_max;
                        
    $neueHoehe intval($hoehe*$neueBreite/$breite);
                        }
                        

        
    fclose ($handle); 
        echo 
    "src=\"img/rechts_unten_rahmen.gif\" border=\"0\"></td></tr></tbody></table></font></td></tr></tbody>
    </table></td></tr></tbody></table></div>
        <a href=\"javascript:window.close()\"><img src=\""
    .$url.$bildordner.$_GET['kat']."/".$data[2]."\" alt=\"Fenster 
    schließen\" border=0 width=\""
    .$neueBreite."\" height=\"".$neueHoehe."\"
              style=\"margin: 0px;\" onmouseover=\"dlc('
    $data[1]<br><br>Quelle: $data[3]<br>Upload:  $datum',''); return true;\" 

    onmouseout=\"nd(); return true;\"></a>"
    ;
        
        
    $kategorie str_replace("_"" "$_GET['kat']);
        
    $titel "Gallerie/$kategorie - $data[2]";
        } 

    Der in der Ausgabe Datei ist identisch geblieben .
    Zuletzt geändert von Perpetuum; 12.08.2004, 15:21.
    [SIZE=1]Projekte:
    wartower.de | planetd2.de

    Kommentar


    • #17
      Öhhmmm, mach mal ein paar Umbrüche....

      Naja, schick nochmal die data.txt und die Absicht die dahinter steckt... dann bau ich dir das mal - ok?
      Ich denke, also bin ich.
      Manche sind trotzdem!

      Kommentar


      • #18
        So sieht die data.txt aus. Ist eine Bildergallerie...

        PHP-Code:
        1092257797===asdd asd ===concept-010lrg.jpg===http://www.guildwars.com===
        1092257823===ghjghb  jjhg===concept-011-lrg.jpg===http://www.guildwars.com===
        1092257847=== hg gh g hg h===concept-018-lrg.jpg===http://www.guildwars.com===
        1092257861===fxgfg fgfgf f g===concept-019-page.jpg===http://www.guildwars.com=== 
        [SIZE=1]Projekte:
        wartower.de | planetd2.de

        Kommentar


        • #19
          Ah Ha!
          Zu jeder Kategorie gibt es ein Verzeichnis und darin eine data.txt. Die data.txt enthält die Verweise für mehrere Bilder der Kategorie...

          Es wird ein Fenster mit nur dem Bild und dem Hinweis auf die Quelle angezeigt. Klickt man auf´s Bild wird alles dicht gemacht.

          Aufruf wahrscheinlich so.. show.php?kat=trallala&bildnr=2 - oder?

          ok, ok... Na dann mal los!

          Ist alles ungetestet, in showPicture() stimmt wahrscheinlich mit Anführungsstrichen was nicht, aber das kannst du selber raussuchen. Du solltest das da eh auseinandernehmen.

          PHP-Code:
          <?php

          /**
          * Funktionen
          */


          /**
          * Document::getPageTitle()
          *
          * Seitentitel in Abhängigkeit von einer Kategorie ermitteln
          *
          * @param string $kategorie
          * @return array Seiteninformationen
          */
          function getPageTitle($strKategorie) {
              return 
          'Gallerie/'.str_replace("_"" "$strKategorie);
          }


          /**
          * Document::getPictureData()
          *
          * Liefert ein Array mit den Daten des Bildes oder FALSE im Fehlerfall
          *
          * @param string $strKategorie
          * @param integer $numBild
          * @return mixed entweder mit Array mit den Daten des Bilder oder FALSE
          */
          function getPictureData($strKategorie$numBild) {
              global 
          $serverpfad;
              global 
          $bildordner;
              global 
          $url;

              
          // maximale Bildgröße
              // vielleicht in die config.php aufnehmen????
              
          $breite_max 700;
              
          $hoehe_max 525;

              
          $arrPicData = array();

              
          // Auslesen der data.txt
              
          $handle fopen($serverpfad.$bildordner.$strKategorie."/data.txt""r");
              if (
          $handle) {
                  while (
          $buffer fgets($handle4096)) {
                      
          $array[] = $buffer;
                  }
                  
          fclose($handle);
              } else {
                  return 
          FALSE;  // data.txt nicht gefunden
              
          }

              
          // Sortiert den Array nach dem Datum
              
          $anzahl_bilder count($array);

              if (
          $numBild >= $anzahl_bilder) {  // 1. Bild: bildnr=0
                  
          return FALSE;  // Bildnummer nicht vorhanden
              
          } else {
                  @
          rsort ($array);
                  
          $data explode("==="$array[$numBild]);
                  
          $arrPicData['datum']        = date("d.m.Y - G:i:s"$data[0]);
                  
          $arrPicData['beschreibung'] = $data[1];
                  
          $arrPicData['file']         = $data[2];
                  
          $arrPicData['quelle']       = $data[3];
                  
          $arrPicData['path']         = $serverpfad.$bildordner.$strKategorie."/".$data[2];
                  
          $arrPicData['url']          = $url.$bildordner.$strKategorie."/".$data[2];
                  
          $arrPicData['pagetitle']     = 'Gallerie/'.str_replace("_"" "$strKategorie); // Bildnummer könnte auch noch rein
              
                  // Höhe und Breite des Bildes
                  
          $size=getimagesize($arrPicData['url']);
                  
          $breite=$size[0];
                  
          $hoehe=$size[1];

                  if(
          $breite $breite_max) {
                      
          $arrPicData['hoehe'] = $hoehe_max;
                      
          $arrPicData['breite'] = intval($breite*$neueHoehe/$hoehe);
                  } else {
                      
          $arrPicData['breite'] = $breite_max;
                      
          $arrPicData['hoehe'] = intval($hoehe*$neueBreite/$breite);
                  }
              }
              return 
          $arrPicData;
          }



          /**
          * Document::showPicture()
          *
          * Bild anzeigen
          *
          * @param array arrPicData Daten des Bildes
          * @return
          */
          function showPicture($arrPicData) {
              global 
          $url;
              
              
          // Ausgabe
              // Noch Anpassung der Pfade für die Icons und Rahmen nötig....
              // Außerdem sollte nicht alles in einem echo() stehen... sieht doch scheisse aus und ist zu langsam!
              
          echo "
          <div id=\"overDiv\" style=\"z-index: 1; position: absolute;  background-image: none; left: 0px; top: 174px; visibility: hidden;\">
            <table border=\"0\" cellpadding=\"1\" cellspacing=\"0\" width=\"200\">
              <tbody>
                <tr>
                  <td>
                    <table border=\"0\" cellpadding=\"2\" cellspacing=\"0\" width=\"100%\">
                      <tbody>
                        <tr>
                          <td valign=\"top\">
                            <font color=\"#000000\" face=\"Verdana,Arial,Helvetica\" size=\"1\">
                              <table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"240\">
                                <tbody>
                                   <tr>
                                    <td style=\"width: 22px;\" height:15px=\"\" background=\"img/links_oben_rahmen.gif\">
                                       <img src=\""
          .$url."img/links_oben_rahmen.gif\" border=\"0\">
                                    </td>
                                    <td style=\"height: 15px;\" background=\"img/top_rahmen.gif\">
                                      <img src=\"img/0.gif\" border=\"0\">
                                    </td>
                                    <td style=\"width: 22px;\" height:15px=\"\" background=\"img/rechts_oben_rahmen.gif\">
                                      <img src=\"img/rechts_oben_rahmen.gif\" border=\"0\">
                                    </td></tr><tr><td style=\"width: 22px;\" background=\"img/links_mitte_rahmen.gif\">
                                      <img src=\"img/0.gif\" border=\"0\">
                                    </td>
                                    <td style=\"font-size: 9px;\" font-face:verdana=\"\" arial=\"\" align=\"left\" bgcolor=\"#bc8e4d\" valign=\"top\">
                                      <div style=\"margin: 5px;\">
                                        Quelle: k4fu<br>Hochgeladen am 03.08.2004, um 17:57 Uhr
                                      </div>
                                    </td>
                                    <td style=\"width: 22px;\" background=\"img/rechts_mitte_rahmen.gif\">
                                      <img src=\"img/0.gif\" border=\"0\">
                                    </td>
                                  </tr>
                                  <tr>
                                    <td style=\"width: 22px;\" height:15px=\"\" background=\"img/links_unten_rahmen.gif\">
                                      <img src=\"img/links_unten_rahmen.gif\" border=\"0\">
                                    </td>
                                    <td style=\"height: 15px;\" background=\"img/bottom_rahmen.gif\">
                                      <img src=\"img/0.gif\" border=\"0\">
                                    </td>
                                    <td style=\"width: 22px;\" height:15px=\"\" background=\"img/rechts_unten_rahmen.gif\">
                                      <img src=\"img/rechts_unten_rahmen.gif\" border=\"0\">
                                    </td>
                                  </tr>
                                </tbody>
                              </table>
                            </font>
                          </td>
                        </tr>
                      </tbody>
                    </table>
                  </td>
                </tr>
              </tbody>
            </table>
          </div>
          <a href=\"java script:window.close()\">
            <img src=\""
          .$arrPicData['url']."\" alt=\"Fenster schließen\" border=0 width=\"".$arrPicData['breite']."\" height=\"".$arrPicData['hoehe']."\"
              style=\"margin: 0px;\" onmouseover=\"dlc('"
          .$arrPicData['beschreibung']."<br><br>Quelle: ".$arrPicData['quelle']."<br>Upload:  '.$arrPicData['datum']."',''); return true;\" onmouseout=\"nd(); return true;\">
          </a>";

          }
          ?>
          <?php

          require("inc/config.php");

          // Bilddaten ermitteln
          if ($arrPicData = getPictureData($_GET['
          kat'],$_GET['bildnr']) {
              $strTitle = getPageTitle($arrPicData);
          } else {
              $sttTitle = $arrPicData['
          pagetitle'];
          }

          ?>
          <html>
          <head>
            <title><? echo $strTitle; ?></title>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
            <script language="JavaScript" src="inc/overlib.js"></script>
           </head>
          <body bgcolor="#000000" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
          <?php

          // Bild anzeigen
          if ($arrPicData) {
              showPicture($arrPicData);
          } else {
              echo '
          Bild nicht gefunden.';
          }

          ?>
            </body>
          </html>
          Ich denke, also bin ich.
          Manche sind trotzdem!

          Kommentar


          • #20
            Deine Signatur kommt mir irgendwie bekannt vor
            Beantworte nie Threads mit mehr als 15 followups...
            Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

            Kommentar


            • #21
              Re: Variablen aus function &quot;global&quot; verwenden?

              Original geschrieben von Perpetuum
              Hi,
              ´
              wenn man in einer function z.B. die Variable $titel definiert und diese funktion dann auf einer html Seite mittels <? functioname(); ?> einbindet. Ist es möglich diese Variable an diversen anderen Stellen dieser Seite zu verwenden?

              Habs versucht, scheint nicht zu klappen - doch vieleicht muss man die Variablen irgendwie speziell difinieren?
              Du solltest Dir lieber einen anderen Weg suchen...
              Das ganze birgt eine Menge Probleme...
              Beantworte nie Threads mit mehr als 15 followups...
              Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

              Kommentar

              Lädt...
              X