Я пытаюсь создать скрипт, который ищет список адресов, приведенных в форме для адресов электронной почты.Кто-нибудь может мне посоветовать, как это сделать?Есть ли альтернатива cURL?Я пытался сделать это с помощью file_get_contents, но скрипт анализирует только последний URL-адрес, указанный в форме: когда я вводю, например, два URL-адреса в форму, первый "print_r (" show current_url: ". $ Current_url); пуст идля второго он показывает содержание страницы (URL) (без картинок).
Я спрашивал на разных форумах, но не получил ответа. Действительно оценит вашу помощь.
Спасибо
$urls = explode("\n", $_POST['urls']);
$db = new mysqli('localhost', 'root', 'root', 'urls');
if (mysqli_connect_errno()) {
echo 'Błąd: ';
exit;
}
for ($i=0; $i<count($urls); $i++){
print_r("show link:". $urls[$i]."<br>");
$current_url = file_get_contents($urls[$i]);
print_r("show current_url:". $current_url);
preg_match( "/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $current_url, $email);//email
print_r ("show email:".$email[0]);
$query = "INSERT INTO urle set adres = '$email[0]' ";
$result = $db->query($query);
}
if ($query) {
echo $db->affected_rows ."pozycji dodano.";
} else {
echo mysql_errno() . ":" . mysql_error() . "Wystąpił błąd przy dodawaniu urli ";
}
$db->close();
?>
РЕДАКТИРОВАТЬ: я пытался с curl. Var_dump ($ email); показывает: массив (0) {} Сценарий теперь отображает все URL-адреса, указанные в форме в браузере, но preg_match не работает, поэтому он не извлекает адреса электронной почты.
<?php
$urls = explode("\n", $_POST['urls']);
$db = new mysqli('localhost', 'root', 'root', 'linki');
if (mysqli_connect_errno()) {
echo 'Błąd: ';
exit;
}
for ($i=0; $i<count($urls); $i++){
$url = $urls[$i];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_URL, $url);
$output = curl_exec($ch);
preg_match( "/[\._a-zA-Z0-9-]+@[\._a-zA-Z0-9-]+/i", $output, $email);//email
var_dump($email);
$query = "INSERT INTO urle set adres = '$email[0]' ";
$result = $db->query($query);
curl_close($ch);
}//
if ($result) {
echo $db->affected_rows ."pozycji dodano.";
} else {
echo mysql_errno() . ":" . mysql_error() . "Wystąpił błąd przy dodawaniu urli ";
}
$db->close();
?>