Array Aktualisieren

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

  • Array Aktualisieren

    Hi @ All,

    ich habe in einer config.php folgenden wert für ein Array
    PHP-Code:
        $http_imglibs = array(
      array(
        
    'value'   => 'XXX/images/topics/',
        
    'text'    => 'Images',
      ),
    ); 
    Ich möchte in der config.php
    die 'value' => 'XXX/images/topics/' ändern können.

    Eine auswahl wie im 2. Skript mit if und meheren möglichen Werten , funktioniert nicht.
    Hier erhalte ich folgende Fehlermeldung: Warning array_walk(): The argument should be an array in
    PHP-Code:
      if($domain=='XXX')
        {
        
    $http_imglibs = array(
      array(
        
    'value'   => 'XXX/images/topics/',
        
    'text'    => 'Images',
      ),
    );
        }

      if(
    $domain=='YYY')
        {
        
    $http_imglibs = array(
      array(
        
    'value'   => 'YYY/images/topics/',
        
    'text'    => 'Images',
      ),
    );
        } 

    Im folgendem Skript erhalte ich die gleiche Fehlermeldung:
    Warning array_walk(): The argument should be an array in
    und
    Warning Invalid argument supplied for each()
    PHP-Code:
    <?php
    if($domain=='XXX')
        {
        
    $http_imglibs[0]['value'] = 'XXX/images/topics/';
        
    $http_imglibs[0]['text'] = 'Images';
    }
    ?>
    Wie ist es mir denoch möglich innerhalb der config.php den Wert
    'value' => 'XXX/images/topics/' zu ändern.

    Ich bin für jede Hilfe Dankbar.

    Gruss Siri

  • #2
    warum nicht so?
    PHP-Code:
      if($domain=='XXX')
      {
         
    $http_imglibs = array('value'   => 'XXX/images/topics/''text'    => 'Images');
      }

      else if(
    $domain=='YYY')
      {
           
    $http_imglibs = array('value'   => 'YYY/images/topics/','text'    => 'Images');
      } 
    und dann mach mal ein
    PHP-Code:
      print_r($http_imglibs); 
    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      @ Peter: Danke für die Antwort

      Ausgabe von print_r($http_imglibs);

      Array ( [0] => Array ( [value] => YYY/images/topics/ [text] => Images ) )
      oder
      Array ( [0] => Array ( [value] => XXX/images/topics/ [text] => Images ) )

      Je nachdem ob $domain=XXX oder YYY
      Der Fehler ist aber immer noch der selbe
      Warning array_walk(): The argument should be an array in
      und
      Warning Invalid argument supplied for each()

      Gruss Peter

      Kommentar


      • #4
        Ich sehe kein array_walk
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          dann solltest du uns den relevanten code auch nicht vorenthalten.

          gruß
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            @ Peter, mrhappiness

            Das sollte der Relevante Code sein.
            Hier gibt es auch den array_walk.

            PHP-Code:
            function is_array_value($value$key$_imglib)
            {
              global 
            $value_found;
              
            // echo $value.'-'.$_imglib.'<br>';
              
            if (is_array($value)) array_walk($value'is_array_value',$_imglib);
              if (
            $value == $_imglib){
                
            $value_found=true;
              }
            }
            array_walk($http_imglibs'is_array_value',$imglib);

            if (!
            $value_found || empty($imglib))
            {
              
            $imglib $http_imglibs[0]['value'];
            }
            $lib_options liboptions($http_imglibs,'',$imglib);


            $img $HTTP_POST_VARS['imglist'];

            $preview '';

            $errors = array();
            if (
            $HTTP_POST_FILES['img_file']['size']>0)
            {
              if (
            $img uploadImg('img_file'))
              {
                
            $preview $http_base_url.$imglib.$img;
              }

            Diese Zeilen stehen nicht im selben Skript sondern in der img_library.php
            Es handelt sich hier bei um den Spaw WYSIWYG Editor.

            Das ist array ansich ist in Ordnung, und funktioniert auch einwandfrei!
            PHP-Code:
            $spaw_imglibs = array(
              array(
                
            'value'   => 'VTZ/images/topics/',
                
            'text'    => 'Images',
              ),
            ); 
            Solange nur diese zeilen in der config.php auftauchen.

            Ich bekomme jedesmal Probleme wenn ich mehere möglichkeiten für
            'value' => 'XXX/images/topics/',
            einbauen möchte.

            Diese versuchte ich per If Abfrage zu trennen, so das der richtige wert einglesen wird.

            Das klappt allerdings nicht, aus dem oben erwähnten gründen

            Gruss Peter
            Zuletzt geändert von Sirius; 04.04.2005, 15:41.

            Kommentar


            • #7
              Kann mir den keiner weiter helfen?

              Kommentar


              • #8
                PHP-Code:
                function is_array_value($value$key$_imglib)
                ....
                array_walk($http_imglibs'is_array_value',$imglib); 
                woher soll denn deine funktion die variable $http_imglibs kennen?

                peter
                Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                Meine Seite

                Kommentar


                • #9
                  Das Array_walk ist doch außerhalb der Funktion

                  Kommentar


                  • #10
                    Indem ich die config.php innerhalb der img_libs.php vorher include
                    include '../config/spaw_control.config.php';

                    Ganz davon abgesehen, Es funktioniert alles.
                    solange inder Config.php nur der Code vorkommt.
                    PHP-Code:
                    $spaw_imglibs = array(
                      array(
                        
                    'value'   => 'VTZ/images/topics/',
                        
                    'text'    => 'Images',
                      ),
                    ); 
                    Mir ist es nicht möglich den Pfad
                    'value' => 'XXX/images/topics/',
                    individuell anzupassen
                    Die Variable $domain soll bestimmen ob der Pfad
                    'value' => 'XXX/images/topics/',
                    oder
                    'value' => 'YYY/images/topics/',

                    Der Editor läuft einwandfrei nur das das "Bilder einfügen" nicht funktioniert.
                    Sobald ich auf den Button klicke, erhalte ich den alt bekannten Fehler.
                    Das PopUp-Fenster geht mit folgender Fehlermeldung auf
                    Warning array_walk(): The argument should be an array in BlaBla on line 45
                    und
                    Warning Invalid argument supplied for each() in BlaBla on line 212
                    Und zeigt mir den Inhalt von FTP Root.

                    Das Problem liegt in der datei img_libs.php zeile 45
                    und in Zeile 212

                    Zeile 45
                    PHP-Code:
                    array_walk($spaw_imglibs'is_array_value',$imglib); 
                    1 Zeile = 212
                    PHP-Code:
                      foreach($arr as $lib) {
                        
                    $buf .= '<option value="'.$lib['value'].'"'.(($lib['value'] == $sel)?' selected':'').'>'.$prefix.$lib['text'].'</option>'."\n";
                      }
                      return 
                    $buf;

                    Gruss Sirius
                    Zuletzt geändert von Sirius; 04.04.2005, 16:47.

                    Kommentar


                    • #11
                      Das Array_walk ist doch außerhalb der Funktion
                      ja falsch geguckt.

                      gib mal vor
                      PHP-Code:
                      array_walk($http_imglibs'is_array_value',$imglib); 
                      ein
                      PHP-Code:
                      print_r($http_imglibs); 
                      aus. ich vermute trotzdem, dass das array nicht exisiert.

                      gruss
                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        Zeile45 geändert
                        PHP-Code:
                        print_r($http_imglibs);
                        array_walk($spaw_imglibs'is_array_value',$imglib); 
                        Ausgabe: nichts

                        print_r($http_imglibs); in der config.php vorher gelöscht.
                        Es muss doch möglich sein.
                        Wo ist der hacken?

                        Wieso funktioniert
                        PHP-Code:
                        $http_imglibs = array(
                          array(
                            
                        'value'   => 'XXX/images/topics/',
                            
                        'text'    => 'Images',
                          ),
                        ); 
                        und eine individuelle auswahl per if, schlägt fehl.
                        $spaw_imglibs ist kein array und die foreach schleifen haben wahrscheinlich was damit zu tun.
                        Ich kapier das nicht, Ich kann dem nicht folgen.
                        Denn ganzen Code könnt Ihr hier Downloaden
                        SPAW.zip

                        Gruss Peter
                        Zuletzt geändert von Sirius; 04.04.2005, 17:17.

                        Kommentar

                        Lädt...
                        X