Сдраствуйте! Есть код Код (Text): <? function lis($url){ $url = "luzynka.ru"; $c = curl_init("http://data.alexa.com/data?cli=10&dat=snbamz&url=".$url); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $page = curl_exec($c); curl_close($c); preg_match("/TEXT=\"(.\d*)\"/", $page, $ci); return $ci[1]; } $alexa = lis('$url'); ?> <?=$alexa?> Пишет ошибку Notice: Undefined offset: 1 in /var/www/www-root/data/www/luzynka.ru/wm.php on line 12 Может кто подскажет в чем проблема?
Как минимум по прямому адресу "http://data.alexa.com/data?cli=10&dat=snbamz&url=luzynka.ru" Хоть что-то, но должно возвращаться. Введи в адресную строку и посмотри, что тебе показывают. Мне например ничего, нет такого. Если тебе что-то возвращается, посмотри что вообще лежит в переменной $ci это можно сделать либо через var_dump() либо через print_r() Как по мне, так вся это связка морально устарела и alexa давно всё поменяла. Ты бы хотя бы сказал, что ты хочешь получить.
Вот что по прямому адресу "http://data.alexa.com/data?cli=10&dat=snbamz&url=luzynka.ru" <!-- Need more Alexa data? Find our APIs here: https://aws.amazon.com/alexa/ --> "); vertical-align: bottom; height: 10px;"><ALEXA VER="0.9" URL="luzynka.ru/" HOME="0" AID="=" IDN="luzynka.ru/"> <RLS PREFIX="http://" more="0"></RLS> <SD TITLE="A" FLAGS="" HOST="luzynka.ru"></SD> "); vertical-align: bottom; height: 10px;"><SD> <POPULARITY URL="luzynka.ru/" TEXT="2107281" SOURCE="panel"/> <REACH RANK="2146376"/> <RANK DELTA="+955759"/> <COUNTRY CODE="RU" NAME="Russia" RANK="318406"/> </SD> </ALEXA>
хммм... а у меня ничего не открывается, возможно провайдер. Раз у тебя открывается, выполни такой код: PHP: <? $url = "luzynka.ru"; $c = curl_init("http://data.alexa.com/data?cli=10&dat=snbamz&url=".$url); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $page = curl_exec($c); curl_close($c); preg_match("/TEXT=\"(.\d*)\"/", $page, $ci); echo "<pre>"; print_r($ci); echo "</pre>"; ?>
а тут ты ждешь от него return $ci[1]; а возвращает он Array() - пустой массив причем не просто array как ты написал. Одной строкой он тебе мог вернуть Array если ты не print_r() использовал, а echo А нотисом (Notice) он тебе говорит: Notice: Undefined offset: 1 in /var/www/www-root/data/www/luzynka.ru/wm.php on line 12 мол нет такого $ci[1];