Fehlermeldungen, bei erstellen von Array
MC Breit
- php
Hi leute, ich versuche einen 2Dimendionalen Array aufzubauen, der jeweils mit "$key" aggiert.
Mein script sieht so aus:
-------------------
<?
//Variablen
$partnerfile = "db/partner.db";
//Datenbank auslesen:
$filehandle = fopen($partnerfile, "r");
$fileinhalt = fread($filehandle);
fclose($filehandle);
//Aufsplitten in einen array:
$partners = explode("\n", $fileinhalt);
foreach($partners as $key){
$partners[$key] = explode(";", $partners[$key]);
}
foreach($partners as $key){
print"$partners[$key][0] hatt bild: $partners[$key][1]\n<br />\n";
}
?>
--------------------
Und die Fehlermeldungen so:
--------------------
Warning: Wrong parameter count for fread() in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 29
Array[0] hatt bild: Array[1]
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
[0] hatt bild: [1]
--------------------
Kann mir jemand sagen, was daran falsch ist?
Dateizugriffsrechte Existieren!
abend,
Warning: Wrong parameter count for fread()
in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on
line 29
[...]
Kann mir jemand sagen, was daran falsch ist?
...einfach nur lesen ;)
du rufst fread mit einem parameter zu wenig auf.
fread ( resource handle, int length)
---------------------------^ fehlt bei dir (!)
(siehe http://www.php.net/manual/de/function.fread.php)
mfg,
(tanz das)
Z.N.S.
Jetzt kommt diese fehlermeldung:
---------------
Array[0] hatt bild: Array[1]
Array[0] hatt bild: Array[1]
Array[0] hatt bild: Array[1]
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
[0] hatt bild: [1]
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
[0] hatt bild: [1]
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
----------------------------
Ist n bissel länger *gg*
Der code sieht jetzt so aus:
----------------------------
//Variablen
$partnerfile = "db/partner.db";
//Datenbank auslesen:
$filehandle = fopen($partnerfile, "r");
$fileinhalt = fread($filehandle, filesize($partnerfile));
fclose($filehandle);
//Aufsplitten in einen array:
$partners = explode("\n", $fileinhalt);
foreach($partners as $key){
$partners[$key] = explode(";", $partners[$key]);
}
foreach($partners as $key){
print"$partners[$key][0] hatt bild: $partners[$key][1]\n<br />\n";
}
-----------------------------
Was stimmt da nun schon wieder nicht???
Hi!
Ich habe jetzt mal Testweise die zeile:
print"$partners[0][0] : $partners[0][1]";
Hinzgefügt... Aber da kommt dan folgende Ausgabe:
001;http://www.mcb-city.net;001.jpg [0] : 001;http://www.mcb-city.net;001.jpg [1]
Obwohl da eigendlich:
001 : http://www.mcb-city.net
Stehen sollte....
Warum?? *Ahhhhhh!*
Hallo,
Warning: Illegal offset type in /usr/local/httpd/htdocs/2103/2107/_cms/partner.php on line 38
es wäre auch recht hilfreich, wenn du im Code die Zeile in der der Fehler auftritt markierst.
$partners = explode("\n", $fileinhalt);
foreach($partners as $key){
$partners[$key] = explode(";", $partners[$key]);
lass dir mal $key ausgeben, da steht nämlich nicht der Schlüssel, sondern der Wert drin (->http://de.php.net/foreach)
wenn du statt:
foreach($partners as $key){
das:
foreach($partners as $value => $key){
schreibst, sollte es funktionieren
}
foreach($partners as $key){
die Schleifen musst du schon verschachteln, sonst funktioniert das nicht
print"$partners[$key][0] hatt bild: $partners[$key][1]\n<br />\n";
hier gilt natürlich das gleiche wie oben ()
Grüße aus Nürnberg
Tobias