Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Problem mit function und return [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Problem mit function und return


 
baschi
22-11-2004, 18:20 
 
Hallo Forum,

ich habe ein Problem mit einer Funktion!
Und zwar habe ich mir ein Ip to Country Skript besorgt um den Besuchern meiner Homepage, die ich in einer MySQL Datenbank logge ein Land zuzuordnen!

Folgende Funktion:

function ip2c($ip)
{
if(isset($ip)&&$ip!=''){

$v=0;$f=0;$n=array();

$ip=sprintf("%u",ip2long($ip));
while(strlen($ip)<10){$ip='0'.$ip;}
$h=opendir('.');
while($e=readdir($h)){
$o=(int)$e;if(strlen($o)>5){
$n[$f]=$e;$f++;}}closedir($h);
sort($n);

$o=count($n)-1;$d=$n[$o];
for($j=0;$j<$o;$j++){
if($ip>=$n[$j]&&$ip<$n[$j+1]){$d=$n[$j];break;}}

$q=fopen($d,"r");
while(!feof($q)){$r=fgets($q,32);
$a=substr($r,0,9);$b=substr($r,10,19);$c=substr($r,20);
if($ip>=$a&&$ip<=$b){$v=1;break;}}}
fclose($q);

if($v==0){}
else{
$ty=strtolower($c);
$ty=str_replace("\n","",$ty);
switch($ty){
case'ac':$rz='Ascension Island';break;
..............
}};
return $rz;
}

Aufrufen tue ich das Skript mit

ip2c($host);

Die Variable Host kommt aus dem Skript in dem ich die Funktion aufrufe.
Allerdings funktioniert der return nicht! Ich bekomme keine Daten zurück!

Wenn ich das Skript manuell aufrufe, also nicht innerhalb der Funktion funktionier er tadellos!

Hat jemand einen Tipp für mich?

Danke schon mal...

 
KaiBone
22-11-2004, 18:29 
 
Moin
mach einfach mal
echo "Test: ".ip2c($host);
dann müsste er die Daten ausgeben, wenn die Funktion sonst funktioniert.

 
jahlives
22-11-2004, 18:59 
 
Salut Baschi

enthält Host denn eine IP oder nur einen Hostnamen ? Übergibst du der Funktion also eine IP ?

Gib mal den $host aus

Gruss

tobi

Du definierst $host hoffentlich nicht nach der Funktion bzw. nach dem Aufruf der Funktion :-)

 
hi0b
22-11-2004, 19:14 
 
Aufrufen tue ich das Skript mit

ip2c($host);



versuchs mal mit $variable = ip2c($host);

 
baschi
22-11-2004, 19:37 
 
Original geschrieben von hi0b
versuchs mal mit $variable = ip2c($host);

Ok, das was, vielen Dank!


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:43 Uhr.