В настоящее время я работаю над созданием файла Sitemap для сценария авто-контент-генератора. Я узнал, что Google принимает карту сайта в простом текстовом файле, который содержит по одному URL на строку.fwrite, если строка не существует в файле
поэтому я создал файл с именем 1.txt
и написал сценарий для добавления текущего URL-адреса страницы до 1.txt
при посещении пользователем.
test.php
является:
$file = 'assets/sitemap/1.txt';
$url = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI]."\n";
$file = fopen($file, 'a');
fwrite($file, $url);
fclose($file);
Этот сценарий записывает страницу URLto 1.txt
каждый раз, когда кто-то попадает на страницу. Но проблема в том, что она создает слишком много дублирующих ссылок. Поэтому я хочу добавить фильтр, чтобы не добавлять строку (URL в этом случае), если она уже существует.
После серфинга в то время как я получил решение здесь (второй фрагмент), который является рациональное использование ресурсов: PHP check if file contains a string
Я сделал следующее изменение, но оно не работает (вообще ничего не добавляя):
$file = 'assets/sitemap/1.txt';
$url = "http://".$_SERVER[HTTP_HOST].$_SERVER[REQUEST_URI]."\n";
if(exec('grep '.escapeshellarg($url).' assets/sitemap/1.txt')) {}
else{
$file = fopen($file, 'a');
fwrite($file, $url);
fclose($file);
}
это также добавить ссылку на 1.TXT рядом проверка существования струны? – Kubloy
Что говорит 3-я марка? – AbraCadaver
append = писать может быть? – Kubloy