Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- Название: samp_userfile2mysql
- Описание:
- Скрипт читает файлы профилей игроков, парсит, форумируя MySQL запрос и отправляя его.
- Автор: ZiGGi
- Дата: 2012-02-06 22:47
- Инструкция:
- Введите данные вашего MySQL соединения
- Не забудьте переименовать название таблицы и имя столбца имени игрока!
- Поменяйте директорию нахождения ваших файлов игроков
- Поменяйте разделитель ключа и значения на тот, который используется в ваших файлах
- Имена файлов должны быть вида *.*
- Символы кавычек не должны быть в файле игрока
- Запустите, если возникнут проблемы, проверьте MySQL подключение и права на папку с файлами игроков
- */
- mysql_connect("localhost","user","password");
- mysql_select_db("database");
- define("file_dir","files/"); // путь к директории, где находятся ваши файлы игроков
- define("user_tablename","tablename"); // название таблицы игроков
- define("user_table_nick_name","Name"); // название столбца с именем игрока
- define("file_separator","="); // разделитель ключа и значения в файле игрока
- foreach (glob(file_dir."/*.*",GLOB_NOSORT) as $file_name)
- {
- $file = fopen($file_name, "r");
- // вычленяем имя файла
- preg_match("/(.+)\/(.+)\.(.+)/",$file_name,$name);
- // переменные для хранения строк имени ключа и его значения
- $result_s = "`".user_table_nick_name."`,";
- $result_e = "'".$name[2]."',";
- while (($buffer = fgets($file, 4096)) !== false)
- {
- // парсим строку файла вида Ключ=Значение
- $arr = explode(file_separator,$buffer);
- $result_s .= "`".$arr[0]."`,";
- $result_e .= "'".substr($arr[1], 0, strlen($arr[1])-2)."',"; // удаляем EOS символ
- }
- fclose($file);
- // удаляем последние, лишние запятые
- $result_s = substr($result_s, 0, strlen($result_s)-1);
- $result_e = substr($result_e, 0, strlen($result_e)-1);
- // формируем окончательный MySQL запрос
- $result = "mysql_query(\"INSERT INTO `".user_tablename."` ($result_s) VALUES ($result_e)\");";
- eval($result);
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement