@webhabr

Как зациклить скрипт в PHP?

Написал примитивный скрипт PHP.
Согласен, что это не грамотно и т.д., но он работает.
<?php
$file = 'result.txt';
// считывает первую строку из mylink.txt
$f = fopen("mylink.txt", "r");
$str = fgets($f);
fseek($f, 0);
// удаляет первую строку из mylink.txt и пересохраняет его
$lines = file('mylink.txt');
 unset($lines[0]);
 file_put_contents('mylink.txt', implode('', $lines));
// обрабатывает ссылку с помощью api
$long_url = urlencode($str);
$api_token = 'bc3db05f576c8b99d44f65eab7970cd0dbfe9d37';
$api_url = "https://shrink.pe/api?api={$api_token}&url={$long_url}";
$result = file_get_contents($api_url);
if( $result ){
 echo $result;
}
// сохраняет результат в result.txt
file_put_contents($file, $long_url . PHP_EOL, FILE_APPEND);
file_put_contents($file, $result . PHP_EOL, FILE_APPEND);
fclose($file);
// задержка в 1 секунду
sleep(1);
?>


Единственное, что осталось - это зациклить данный скрипт, чтобы он мог обработать весь список ссылок из файла mylink.txt
  • Вопрос задан
  • 271 просмотр
Решения вопроса 1
@webhabr Автор вопроса
Вопрос решен!
Всем спасибо за помощь, особенно Сергей delphinpro
<?php
function handle_url($url) {
    $file = 'result.txt';
    $long_url = urlencode($url);
    $api_token = '0123456789';
    $api_url = "https://mysite.com/api?api={$api_token}&url={$long_url}";
    $result = file_get_contents($api_url);
    if ($result) {
        echo $result;
    }
    file_put_contents($file, $long_url . PHP_EOL, FILE_APPEND);
    file_put_contents($file, $result . PHP_EOL, FILE_APPEND);
    sleep(1);
}

$file = fopen('mylink.txt', 'r');
if ($file) {
    while (($line = fgets($file)) !== false) {
        handle_url($line);
    }
    fseek($file, 0);
}
?>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы