Доброго времени суток. Подскажите пожалуйста. Имеется скрипт на PHP который при запуске парсит 10 ссылок на картинки со стены одной группы в ВК и записывает их в файл на фтп.
Мне нужно сделать условие с проверкой, что бы скрипт спарсивал ссылку, заходил в файл и проверял есть ли там уже такая, если есть - то пропустить, если нет - записать к остальным.
Заранее благодарен
Версия с генераторами (PHP 5.5 +).
<?php
// Читаем файл построчно.
function getLines($file) {
$f = fopen($file, 'r');
try {
while ($line = fgets($f)) {
yield $line;
}
} finally {
fclose($f);
}
}
$file = "links.txt";
$link = "http://example.com/image2.png";
$exists = false;
// Проверяем ссылку.
foreach (getLines($file) as $line) {
$exists = $exists || trim($line) === $link;
}
if (!$exists) {
file_put_contents ($file, $link . PHP_EOL, FILE_APPEND);
}
Полный ответ :
<?php
function getLines($file) {
$f = fopen($file, 'r');
try {
while ($line = fgets($f)) {
yield $line;
}
} finally {
fclose($f);
}
}
$url = file_get_contents("https://api.vk.com/method/wall.get?domain=*NAME_OF_GROUP*&");
$data = json_decode($url,true);
$file="file.txt";
foreach ($data['response'] as $item) {
$link = $item['attachment']['photo']['src_big'];
$exists = false;
foreach (getLines($file) as $line) {
$exists = $exists || trim($line) === $link;
}
if (!$exists) {
file_put_contents ($file, $link . PHP_EOL, FILE_APPEND);
}
}
<?php
//Тут в переменную записываем вашу ссылку (в цикле, которым парсится все)
$str="http://link.ru";
//Открываем ваш файл с ссылками
$file=file("link.txt");
//Проверяем наличие $str в $file
if(!in_array($str,$file)){
//если нет такой,пишите в файл строку, тем способом каким и записывали ранее, если есть - ничего не происходит
}
?>
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
После установки на локальный сервер Openserver не грузятся изображения и яваскриптыНапример http://magento2
Салют народ, крч у меня не хочет подключаться
Был использован стандартный реиндекс magentoНа тестовых серверах с идентичной настройкой базы работает нормально