Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
mysql_connect("localhost", "torrent", "password") or die("Could not connect to MySQL");
Открываем браузер, открываем url «http://site.ru/db/insert_to_db.php?f=category_10.csv». Проделываем тоже самое с каждым файлом CSV. Да, все это можно было автоматизировать, но я специально написал так, что бы было максимально всё понятно.
http://site.ru/db/insert_to_db.php?f=category_*.csv
в разных окнах/табах, не подумал?<?php
function println($message) {
echo $message, PHP_EOL;
}
mb_internal_encoding('UTF-8');
$db = new PDO('mysql:host=localhost;port=3306;dbname=torrent;charset=utf8', 'torrent', 'password', [
PDO::ATTR_PERSISTENT => 1,
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_EMULATE_PREPARES => 0,
]);
foreach (glob('csv_data/*.csv') as $file) {
$fp = fopen($file, 'r');
if (!is_resource($fp)) {
println("Can't open $file");
continue;
}
$counter = 0;
while (($data = fgetcsv($fp, 0, ';')) !== false) {
if (count($data) == 0 && is_null($data[0])) {
continue;
}
$db->prepare('INSERT INTO `torrents` (`name`,`hash`,`date`,`size`,`topic_id`,`cat_id`,`cat_name`) VALUES (?,?,?,?,?,?,?)')->execute([$data[4], $data[3], $data[6], $data[5], $data[2], $data[0], $data[1]]);
$counter++;
}
println("Processed $counter entries from $file");
fclose($fp);
}
println('Done');
curl http://site.ru/db/insert_to_db.php?f=category_{1..36}.csv
Главная страница на чистом HTML, без использования PHP
Столько критики, а за восемь лет никто правильную статью не написал, между тем последний дамп Рутрекера 11 дней назад выложен. Зато все знают, как надо.
Как запустить собственный торрент-поисковик на базе RuTracker?