PHP: <?php set_time_limit(0); function flush_buffers() { ob_end_flush(); @ob_flush(); flush(); ob_start(); } function get_page($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0); $res = curl_exec($ch); return $res; } function check_cypr($hostname) { $sign = get_sign($hostname); $pr_cy = get_page('http://www.cy-pr.com/ajax/ajax.php?dod=cypr&url=' . $hostname . '&site_signature=' . $sign); preg_match('#(\d+)\|.*\|(\d+)\|.*#', $pr_cy, $pr_cy); return array('pr' => $pr_cy[2], 'cy' => $pr_cy[1]); } function get_sign($hostname) { $res = get_page('http://www.cy-pr.com/analysis/' . $hostname); preg_match('#var site_signature = "([a-z0-9]{32})";#i', $res, $sign); return $sign[1]; } ?> <html> <head> <title>Mass PR & CY checker</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <form action="" method="POST"> <table class="f_second" align="center"> <tr><td class="f_second">Введите список сайтов в поле ниже</td> <tr><td class="f_first"><textarea name="sites" rows="10" cols="110"></textarea></td> <tr><td colspan="2"><input type="submit" name="check" value="Проверить" class="button"/></td> </table> </form> <table class="second" align="center"> <?php if (isset($_POST['check'])) { echo '<tr><td>Сайт</td><td>PR</td><td>тИЦ</td>'; $arrays = array_unique(explode("\r\n", $_POST['sites'])); sort($arrays); $urls = array_map('trim', $arrays); $_url = array(); foreach ($urls as $url) { $url = parse_url($url, PHP_URL_HOST); if (!in_array($url, $_url)) { $vars = check_cypr($url); echo '<tr><td class="second">' . $url . '</td><td class="first">' . $vars['pr'] . '</td><td class="first">' . $vars['cy'] . '</td>'; $_url[] = $url; } } } exit; ?> </table> </html> Набыдлокодил я такой код) Но в PHP есть траблы какие-то с буферизацией, то есть я ввел 500 сайтов, и мне придется ждать, пока все сайты проверит, аж тогда выведется результат. Но мне надо, чтобы выводило по мере проверки, то есть проверило 1 сайт - вывело строчку с этим сайтом и т.д... , поэтому набыдлокодил я такую ф-цию, как flush_buffers(), но куда уже её не тыкал, буфер не стирается) Хелп... куда её кидать то?
Да нет, это как раз таки PHP. До этого я использовал класс для проверки тИЦ, PR - я подставил в цикле эту ф-цию, и все работало на "ура", а здесь куда бы не ставил - 0 эффекта.
Да я тоже помню в прошлом году, непомню какая опера была 9+, можно было выводить частями, елементарно: PHP: <?php echo '123'; echo str_pad('',1024)."\r\n"; flush(); sleep(1); echo '456'; echo str_pad('',1024)."\r\n"; flush(); sleep(1); ?> У Чаака спер с скрипта Вирустотал проверки. Сейчас такое не катит, но есть же AJAX, так что все ОК.
Слэш лишний PHP: $de1 = "/install.php"; Код из 3х строк ужаснейший, зачем ты береш переменную ковычки: PHP: unlink("$de1"); А тут темболее в одинарные: PHP: chmod ('$de1', 0777); К сведению если ты ставиш слэш в начале имени файла значит путь будет считатся с начала, тоесть : cd /var/www/ - ты перейдеш в папку www с корня файловвой системы. cd var/www ты перейдеш в папку www с текушго места, есессно если путь существует, ето относительный путь называется.
А еще лучше указывать полный путь к файлу: PHP: <?php unlink( getcwd().DIRECTORY_SEPARATOR.'file.txt'); ?>
А вы не думали что файл залитый на сервак лежит от пользователя user:user а когда вы пыаетесь его удалить или сменить права не по фтп возможно к нему идет обращение не от того пользователя.
Почитай)) http://ru.wikipedia.org/wiki/Chmod http://ru.wikipedia.org/wiki/Chown http://ru.wikipedia.org/wiki/Chgrp если Чмод файла 0777 то даже www-data сможет его unlink, другое дело хватит ли привелегий текущему юзверу на chmod
Как разденить число 100000 на такой вид 100 000 Ну и чтоб каждые 3 символа отделялись а не толоько 1 раз...
PHP: number_format ($num, 0, '', ' '); либо регулярка PHP: preg_replace ('/(?<=\d)(?=(\d\d\d)+(?!\d))/', ' ', $str);
Вопрос не ясен, возвращай результат в переменную и делай дальше что тебе надо, ты же видимо делаеш вывод в браузер и идеш по редиректу, в таком случае сохраняй работу курла в лог.тхт