PHP: <?php $dir="test/"; //папка $dir=scandir($dir); foreach($dir as $file){ if($file != "." && $file != ".."){ $imgs[]=$file; } } $rand=rand(0, count($imgs)-1); echo "<img src=test/".$imgs[$rand].">"; ?>
Вопрос по сессиям, нарыл скрипт, но с устаревшей session_register("login"), заменил на $_SESSION['login']=$login, - выпали нотисы Undefined variable. Подскажите, та функция session_register автоматически присваивала значения по умолчанию или нет? А то с новым $_SESSION прописываю ручками.
AnGeI нужен подключенный модуль APD и такая функция: http://ru.php.net/manual/en/function.override-function.php Либо, если интересующая функция определена в каком то модуле - то выгрузить этот модуль
можешь попробовать воспользоваться таким решением для того чтобы вернуть скрипт в работоспособное состояние с минимальным вмешательством: http://www.php.net/manual/ru/function.session-register.php#96241 объявить заново функции: PHP: function session_register(){ $args = func_get_args(); foreach ($args as $key) $_SESSION[$key]=$GLOBALS[$key]; } function session_is_registered($key){return isset($_SESSION[$key]); } function session_unregister($key){ unset($_SESSION[$key]); }
phpdreamer этот хак прокатит только в PHP6+. А вот в 4 и 5 ветке - ваш код (а не код из ссылки) свалит интерпретатор с фатальной ошибкой. И получается, что проблема версии PHP5.3 - не решается таким образом: функции session_register будут все так же вызывать варнинг Deprecated
Подскажите правильно ли реализована работка с куками в личном кабинете юзера если авторизация прошла успешно ставим куки Code: $key = 'key'; setcookie('user', $email, time()+(60*60*24*30), '/'); setcookie('auth_hash', md5($email.$key), time()+(60*60*24*30), '/'); в личном кабинете проводим проверку Code: $key = 'key'; if($_COOKIE['auth_hash'] == md5($_COOKIE['user'].$key)) { // good } else { // redirect to login page } все работает, просто интересуюсь правильно ли сделал
Добрый день. Возникла проблема. Нужно с гугл.докс вытащить картинки из пдф документов. Написал такой скрипт: PHP: <?php if( $ch = curl_init() ){ $url="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.education.gov.yk.ca%2Fpdf%2Fpdf-test.pdf"; // Пишем url страницы curl_setopt($ch,CURLOPT_URL, $url); // Скачанные данные не выводить поток curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); //Из какого файла читать curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, wie z. B. Gecko) Chrome/13.0.782.215 Safari/525.13.'); // Загружаем страницу $out = curl_exec($ch); // Выводим страницу на экран //echo $out; // Закрываем соединение curl_close($ch); preg_match_all("/docId\:'(.*?)',numPages\:(\d*?),/si", $out, $regs); print_r($regs); } $page=$url."&docid=".$regs[1][0]."&a=bi&pagenumber=".$regs[2][0]; echo $page; // Пишем url страницы $ch = curl_init(); curl_setopt($ch,CURLOPT_URL, $page); // Скачанные данные не выводить поток curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); //Из какого файла читать curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, wie z. B. Gecko) Chrome/13.0.782.215 Safari/525.13.'); // Загружаем страницу $out = curl_exec($ch); // Выводим страницу на экран echo $out; // Закрываем соединение curl_close($ch); ?> Но он выдаёт 400 Bad request на картинки. Я тестирую на локалхосте и если я ещё не заходил через браузер в этот файл на гугле, то отдаётся 400 ошибка с моего айпи. Но если я один раз зашёл на этот файл, гугл запоминает мой айпи и скрипт уже работает, но вот проблема, я не могу определить куда нужно зайти там скриптом, чтобы гугл записал мой айпи.
Проблема как я понимаю в куках, которые курл сам не ставит с гугла. Но как их поставить в ручную? Видимо это гдето в js, но не могу найти.
Так как в пхп не сильно волоку, непойму в чем проблема. Скрипт подгружает файлик со ссылками и чекает там что находится между тегом <strong></strong> , если есть чето , то заносит в гуды, если нету то в эрроры.Когда проверяю по 1му домену всё нормально отображает, когда пытаюсь массово делать, то проверяет самый последний домен почемуто,где я согрешил? Сам скрипт: PHP: <? error_reporting(0); @set_time_limit(0); @ini_set("max_execution_time","0"); @ignore_user_abort(true); unlink('ok.txt'); unlink('error.txt'); $useragent = "FireFox"; function get($url,$useragent){ $ch = curl_init(); curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_HEADER, true); curl_setopt($ch, CURLOPT_NOBODY, false); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_USERAGENT, $useragent); curl_setopt($ch, CURLOPT_TIMEOUT,10); $result = curl_exec($ch); curl_close($ch); return $result; } function ok($host){ $h = fopen("ok.txt","a"); $add_text = $host; if(fwrite($h,$add_text,99999999999)) echo $host." - ok\n"; fclose($h); } function er($host){ $h = fopen("error.txt","a"); $add_text = $host; if(fwrite($h,$add_text,99999999999)) echo $host." - error\n"; fclose($h); } function shj($code){ $pos = strpos($code, 'strong>'); $code = substr($code, $pos); $pos = strpos($code, '</strong>'); $code = substr($code, 0, $pos); $code=substr($code, 53); return $code; } function check($host) { $ev = shj(get('http://'.$host.'/index.php',$useragent)); if(strlen($ev)) { ok($host); } elseif(strlen(!$ev)) { er($host); } } $lines = file("links.txt"); foreach($lines as $single_line) check($single_line); ?>
есть список урлов,в котором многие повторяются. как оставить только один урл из повторяющихся,если одинаковыми считать все урлы с одинаковыми хостами
$lines = file("links.txt"); вторым параметром передавай FILE_IGNORE_NEW_LINES ибо без него у тебя каждая строка оканчивается переносом, что есть невалидная строка для этого чуда.
подскажите, как сделать: нужна форма ввода данных и кнопка "Подписаться", после нажатия кнопки введенная строка записывается в 1.txt, который лежит рядом на хостинге извиняюсь за глупый вопрос, с пхп вообще не пересекаюсь, но вот неожиданно пришлось
Есть массивы такого вида Code: Array ( [0] => http://www.bing.com/search?q=site%3A.AZ+index.php%3Fid%3D%0D%0A&go=&first=1<br> ) Array ( [0] => http://www.bing.com/search?q=site%3A.AZ+index.php%3Fid%3D%0D%0A&go=&first=11<br> ) Array ( [0] => http://www.bing.com/search?q=site%3A.AZ+index.php%3Fid%3D%0D%0A&go=&first=21<br> ) Array ( [1] => http://www.bing.com/search?q=site%3A.AZ+photo.php%3Fid%3D&go=&first=1<br> ) Array ( [1] => http://www.bing.com/search?q=site%3A.AZ+photo.php%3Fid%3D&go=&first=11<br> ) Array ( [1] => http://www.bing.com/search?q=site%3A.AZ+photo.php%3Fid%3D&go=&first=21<br> ) как их привести к массиву вида $arr=array(1=>'ssilka1',2=>'ssilka2');
Compton http://php.net/array_merge или http://ru.php.net/manual/en/language.operators.array.php Либо циклом Откуда получились массивы, и далеко не очевидно, что вы хотите получить в итоге