|
|
|
| Здравствуйте!
Помогите пожалуйста с моей проблемой.
Я хочу сделать такое:
я пользователям раздаю ссылки, которые пользователи должны установить у себя на сайтах.
Как мне сделать проверку на существование этих ссылок?
Код ненадо. просто на словах объясните :)
Спасибо. | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 11:40)
| | Подскажите пожалуйста принцип такой проверки. | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 13:17)
| | Смотря какие у вас условаи ))
Ссылку вы будите довать 1 и туже или она может меняться ?
Если будит меняться то вести бвзу вида
URL страницы на которой должна стоять ссылка|ссылка которая должна стоять|
И потом просто по колличеству записей крутите цыкл в котором просто делаете file_get_contents(URL Страницы);
И прегмачем ищете эту ссылку. если найде то ОК ежели нет - тут сами думайте что нужно зделать при отсутствии ссылки !)) | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 13:17)
| | Но не забудте что ссылка должна идти в <body> не стоять в ноиндекс и нофолов !
Это тоже проверить прегмачем можно ! | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(21.03.2009 в 13:48)
| | хм. хотел без примеров, но все таки понадобился пример )
Можете показать пример такого скрипта?
Допустим ссылка не меняющаяся. | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 13:58)
| | )) Ктобы мне написал решение моей проблеммы !
Щяс накалякаю... | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(21.03.2009 в 14:03)
| | Просто я такое делал, но у меня были ошибки.
<?
$fname = "http://sait.ru/";
echo file_get_contents($fname);
?>
|
Выдавало ошибку.
Прописывал: allow_url_fopen on в php.ini и также не помогало.. | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 14:06)
| | Просто я такое делал, но у меня были ошибки.
<?
$fname = "http://sait.ru/";
echo file_get_contents($fname);
?>
Выдавало ошибку.
Прописывал: allow_url_fopen on в php.ini и также не помогало..
Естественно работать не будит !!!!
Вы попробуйте сами зайти на сайт http://sait.ru/ - он не существует !!!
вот так к примеру работать будит
<?
$fname = "http://mail.ru/";
echo file_get_contents($fname);
?> | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(21.03.2009 в 14:23)
| | Вы меня считаете за дурака какого-то?
Я что незнаю что сайта sait.ru нету.
Я для примера показывал!
ладно. спасибо. | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(21.03.2009 в 14:03)
| | Да и вообще лучше покажите как получить HTML код с нужного сайта ))
А дальше я сам сделаю. | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 14:10)
| |
<?php
$url_test='http://afisha.mail.ru/'; // ссылка или текст который мы ищем на страницах
$page_test=array('http://google.ru/', 'http://mail.ru/', 'http://ya.ru/'); // ссылки которые мы проходим для поиска обратной ссылки
for ($i=0; $i<count($page_test); $i++)
{
$str=file_get_contents("$page_test[$i]");
if (preg_match("#<noindex>.*$url_test.*</noindex>#", $str)) {echo "На сайте $page_test[$i] была найдена ссылка в noindex!<br>";}
if (preg_match("#<a href=.$url_test.*>.*</a>#", $str)) {echo "На сайте $page_test[$i] была найдена обратная ссылка!<br>";}
else {echo "На сайте $page_test[$i] не найдена обратная ссылка!<br>";}
}
?>
|
| |
|
|
|
|
|
|
|
для: Inviseble_Demon
(21.03.2009 в 14:21)
| | Ошибку выдает на кое-какой сайте.
С Вашими сайтами работает, а когда подставил свои, то не работает..
Warning: file_get_contents() [function.file-get-contents]: php_network_getaddresses: getaddrinfo failed: Name or service not known in /home/***********/public_html/***.php on line 10
Имеются ли какие-нибудь другие варианты чтобы на всех сайтах работало нормально? | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 14:31)
| | Этот вариант 100% рабочий !
У вас проблемы либо с сервером либо с интернетон !!! | |
|
|
|
|
|
|
|
для: Minus
(21.03.2009 в 14:31)
| | Мне кажется это у вас бесплатный хостинг !!!
На фришниках закрыты функции скачивания !!!! | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(21.03.2009 в 15:44)
| | У меня VDS.
Этот вариант, что Вы мне дали - даже плохой.
С ним не все сайты проверяло на наличие ссылок (на некоторых выдавало ошибки).
Я решил проблему сокетами (и уже работает на все 100%, в отличие от вашего способа). | |
|
|
|
|
|
|
|
для: Minus
(23.03.2009 в 12:48)
| | какой ужас... я в шоке, file_get_content применятся для извлечения данных на локальной машине, а для удалёнки исспользуется curl, вот вам пример:
function DownloadHTML ($url, $timeout=30)
{
if(!extension_loaded('curl'))
throw new Exception('Сервис временно недоступен, попробуйте позже');
$curl = curl_init($url);
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_TIMEOUT => $timeout,
CURLOPT_FAILONERROR => true,
CURLOPT_HEADER => false,
CURLOPT_FOLLOWLOCATION => true
);
curl_setopt_array($curl, $options);
$html = curl_exec($curl);
curl_close($curl);
return $html;
}
|
| |
|
|
|
|
|
|
|
для: Dobrynin
(23.03.2009 в 14:06)
| | ну а я то здесь причем? Это мне так советовали, но я так не делал =)
Я сделал немного по другому. С использованием сокетов и курл. | |
|
|
|