Есть две версии файла, старая и новая. Нужно найти изменения и записать новые строки в базу данных. Сейчас он начинает записывать все строки по новой, почему?
// Подготовка к скачиванию
$url = 'http://www.xxxxx.xx/xxx.txt';
$path = __DIR__ . '/list.txt';
$pathOld = __DIR__ . '/listOld.txt';
// Скачивание файла
if (!@copy($url, $path)) {
$errors = error_get_last();
echo "Ошибка: " . $errors['type'];
echo "<br />\n" . $errors['message'];
} else {
echo "Файл скачан!";
}
// Хеш старого файла
$sha1Old = sha1_file($pathOld);
// Хеш нового файла
$sha1New = sha1_file($path);
// Если файл изменился
if($sha1Old != $sha1New){
$host = "localhost";
$dbname = "xxxx";
$user = "xxxx";
$pass = "xxxx";
$fNew = fopen($path, "r"); // Открываем новый файл в режиме чтения
$fOld = fopen($pathOld, "r"); // Открываем старый файл в режиме чтения
// Если файлы открылись
if ($fNew and $fOld) {
$i = 0;
$db = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$sql = "INSERT INTO terms(term,value,url) VALUES (:term, :value, :url);";
$sth = $db->prepare($sql, array(PDO::ATTR_CURSOR => PDO::CURSOR_FWDONLY));
// Цикл до конца файла
while (!feof($fNew)) {
$newFileString = fgets($fNew, 2000);
$oldFileString = fgets($fOld, 2000);
// Если не равен - значит добавлена новая строка
if($newFileString != $oldFileString){
$newStringArray = explode(';', $newFileString);
$term = $newStringArray[0];
$value = $newStringArray[1];
$url = $newStringArray[2];
$sth->execute(array(
':term' => $term,
':value' => $value,
':url' => $url
));
print_r($newStringArray[0]."<br>");
}
}
} else echo "Ошибка при открытии файла";
fclose($fNew);
fclose($fOld);
} else{
echo "Файл не изменился.";
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Не отображается div на странице, что бы не пытался сделатьПричем в index точно такой же код отображается как обычно
Мне нужно использовать функцию check_ajax_referer() в плагине для проверки переданного значения, но в описании пишется:
Помогите новичку не могу понять как записать в массив в цикле значение, записываю таким вот образом