PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks. |
 |

04-04-2005, 15:11
|
Sirius
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 36
|
|
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
|

04-04-2005, 15:45
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.773
|
|
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
|

04-04-2005, 16:20
|
Sirius
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 36
|
|
@ 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
|

04-04-2005, 16:21
|
mrhappiness
PHP Guru
|
|
Registriert seit: Oct 2002
Beiträge: 14.890
|
|
Ich sehe kein array_walk
__________________
Ich denke, also bin ich. - Einige sind trotzdem...
|

04-04-2005, 16:22
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.773
|
|
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
|

04-04-2005, 16:31
|
Sirius
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 36
|
|
@ 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
Geändert von Sirius (04-04-2005 um 16:41 Uhr)
|

04-04-2005, 17:00
|
Sirius
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 36
|
|
Kann mir den keiner weiter helfen?
|

04-04-2005, 17:16
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.773
|
|
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
|

04-04-2005, 17:29
|
Schnoop
PHP Senior
|
|
Registriert seit: Apr 2003
Beiträge: 1.049
|
|
Das Array_walk ist doch außerhalb der Funktion
|

04-04-2005, 17:42
|
Sirius
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 36
|
|
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
Geändert von Sirius (04-04-2005 um 17:47 Uhr)
|

04-04-2005, 17:57
|
Kropff
  Administrator
|
|
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.773
|
|
Zitat:
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
|

04-04-2005, 18:04
|
Sirius
Newbie
|
|
Registriert seit: Sep 2003
Beiträge: 36
|
|
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
Geändert von Sirius (04-04-2005 um 18:17 Uhr)
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|