Advertisement
ZiGGi

samp_userfile2mysql

Feb 6th, 2012
626
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.65 KB | None | 0 0
  1. <?php
  2. /*
  3.  
  4.     Название: samp_userfile2mysql
  5.     Описание:
  6.         Скрипт читает файлы профилей игроков, парсит, форумируя MySQL запрос и отправляя его.
  7.    
  8.     Автор: ZiGGi
  9.     Дата: 2012-02-06 22:47
  10.  
  11.     Инструкция:
  12.         Введите данные вашего MySQL соединения
  13.         Не забудьте переименовать название таблицы и имя столбца имени игрока!
  14.         Поменяйте директорию нахождения ваших файлов игроков
  15.         Поменяйте разделитель ключа и значения на тот, который используется в ваших файлах
  16.         Имена файлов должны быть вида *.*
  17.         Символы кавычек не должны быть в файле игрока
  18.         Запустите, если возникнут проблемы, проверьте MySQL подключение и права на папку с файлами игроков
  19.    
  20. */
  21.  
  22.  
  23. mysql_connect("localhost","user","password");
  24. mysql_select_db("database");
  25. define("file_dir","files/"); // путь к директории, где находятся ваши файлы игроков
  26. define("user_tablename","tablename"); // название таблицы игроков
  27. define("user_table_nick_name","Name"); // название столбца с именем игрока
  28. define("file_separator","="); // разделитель ключа и значения в файле игрока
  29.  
  30. foreach (glob(file_dir."/*.*",GLOB_NOSORT) as $file_name)
  31. {
  32.     $file = fopen($file_name, "r");
  33.     // вычленяем имя файла
  34.     preg_match("/(.+)\/(.+)\.(.+)/",$file_name,$name);
  35.     // переменные для хранения строк имени ключа и его значения
  36.     $result_s = "`".user_table_nick_name."`,";
  37.     $result_e = "'".$name[2]."',";
  38.     while (($buffer = fgets($file, 4096)) !== false)
  39.     {
  40.         // парсим строку файла вида Ключ=Значение
  41.         $arr = explode(file_separator,$buffer);
  42.         $result_s .= "`".$arr[0]."`,";
  43.         $result_e .= "'".substr($arr[1], 0, strlen($arr[1])-2)."',"; // удаляем EOS символ
  44.     }
  45.     fclose($file);
  46.     // удаляем последние, лишние запятые
  47.     $result_s = substr($result_s, 0, strlen($result_s)-1);
  48.     $result_e = substr($result_e, 0, strlen($result_e)-1);
  49.     // формируем окончательный MySQL запрос
  50.     $result = "mysql_query(\"INSERT INTO `".user_tablename."` ($result_s) VALUES ($result_e)\");";
  51.     eval($result);
  52. }
  53.  
  54. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement