Array Aktualisieren

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Comment


    • #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

      Comment


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

        Comment


        • #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

          Comment


          • #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
            Last edited by Sirius; 04-04-2005, 15:41.

            Comment


            • #7
              Kann mir den keiner weiter helfen?

              Comment


              • #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

                Comment


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

                  Comment


                  • #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
                    Last edited by Sirius; 04-04-2005, 16:47.

                    Comment


                    • #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

                      Comment


                      • #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
                        Last edited by Sirius; 04-04-2005, 17:17.

                        Comment

                        Working...
                        X