Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не знаю как реализовать...

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (3): [1] 2 3 »   

> Без описания
BeSS0n
Отправлено: 30 Июля, 2013 - 20:25:45
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




Всем привет. В php я совсем не понимаю, но в той сфере где я понимаю этого не осуществить. Так вот... Нужно найти все файлы(более 2-х тысяч) в папке, считать с них содержимое и занести его в базу... Есть люди которые помогут ?
Файлы примерно с таким содержанием:
perem=1
perem2=name
 
 Top
stifard
Отправлено: 30 Июля, 2013 - 20:30:56
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Май 2013  


Помог: 1 раз(а)




BeSS0n пишет:
Файлы примерно с таким содержанием:
perem=1
perem2=name

пример содержания вовсе необязателен исходя из
BeSS0n пишет:
считать с них содержимое и занести его в базу


file_get_contents
mysql_query

(Отредактировано автором: 30 Июля, 2013 - 20:32:05)

 
 Top
BeSS0n
Отправлено: 30 Июля, 2013 - 20:37:15
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




А как можно найти все файлы в папке ?
 
 Top
stifard
Отправлено: 30 Июля, 2013 - 20:43:19
Post Id


Новичок


Покинул форум
Сообщений всего: 40
Дата рег-ции: Май 2013  


Помог: 1 раз(а)




glob, !is_dir
 
 Top
BeSS0n
Отправлено: 30 Июля, 2013 - 21:01:25
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




[quote=stifard][/quote]
Честно, ничего не понял... Можно пример ?
 
 Top
caballero
Отправлено: 30 Июля, 2013 - 21:14:52
Post Id


Активный участник


Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011  
Откуда: Харьков


Помог: 126 раз(а)




Цитата:
В php я совсем не понимаю, но в той сфере где я понимаю этого не осуществить.

а с чего ты решил что тебе надо именно PHP


-----
Бесплатная система складского учета с открытым кодом https://zippy[dot]com[dot]ua/zstore
 
 Top
BeSS0n
Отправлено: 30 Июля, 2013 - 21:36:55
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




[quote=caballero][/quote]
Ну, по крайней мере я думал что возможности PHP позволят такое сделать, оказывается да, но как не пойму...
 
 Top
Саныч
Отправлено: 30 Июля, 2013 - 22:00:22
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




BeSS0n, конечно возможно.
PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $db = MySQLi('host', 'user', 'password', 'base'); // подставить свои значения
  3. $stmt = $db->prepare('INSERT INTO `table` SET `file` = ?, `content` = ?'); // указать свою таблицу и поля
  4. $path = __DIR__; // указать свой путь к папке, слешь в конце обязательно
  5.  
  6. if (!$stmt) {
  7.     die($db->error);
  8. }
  9.  
  10. if (is_dir($path)) {
  11.     foreach (scandir($path) as $file) {
  12.         if ($file == '..' || $file == '.') {
  13.             continue;
  14.         }
  15.        
  16.         $content = file_get_contents($path . $file);
  17.         $stmt->bind_param('ss', $file, $content);
  18.         if (!$stmt->execute()) {
  19.             die($stmt->error);
  20.         }
  21.     }
  22. }
  23. ?>
Читайте комменты, пробуйте


-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
BeSS0n
Отправлено: 30 Июля, 2013 - 22:11:58
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




Fatal error: Call to undefined function mysqli() in ...
Выдаёт такую вот ошибку... Хостинг обычный, поэтому не знаю что делать...
 
 Top
armancho7777777 Супермодератор
Отправлено: 30 Июля, 2013 - 22:18:03
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Опечаток:
Саныч пишет:

 
 Top
Panoptik
Отправлено: 30 Июля, 2013 - 22:21:52
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. mysql_connect('host','user','password');
  3. mysql_select_db('database');
  4. //$db = MySQLi('host', 'user', 'password', 'base'); // подставить свои значения
  5. //$stmt = $db->prepare('INSERT INTO `table` SET `file` = ?, `content` = ?'); // указать свою таблицу и поля
  6. $path = __DIR__; // указать свой путь к папке, слешь в конце обязательно
  7.  
  8. //if (!$stmt) {
  9. //    die($db->error);
  10. //}
  11.  
  12. if (is_dir($path)) {
  13.     foreach (scandir($path) as $file) {
  14.         if ($file == '..' || $file == '.') {
  15.             continue;
  16.         }
  17.        
  18.         $content = file_get_contents($path . $file);
  19.  
  20.         $query = 'INSERT INTO `table` SET `file` = "'.$file.'", `content` = "'.$content.'"';
  21.  
  22.         //$stmt->bind_param('ss', $file, $content);
  23.         //if (!$stmt->execute()) {
  24.         //    die($stmt->error);
  25.         //}
  26.         $r = mysql_query($query);
  27.         if(!$r) {
  28.            echo mysql_error();
  29.         }
  30.     }
  31. }
  32. ?>


пример Саныча без mysqli, закомментированные строки можно убрать
зы: может гдето ошибся, так как писал сходу


-----
Just do it
 
 Top
BeSS0n
Отправлено: 30 Июля, 2013 - 22:28:53
Post Id


Новичок


Покинул форум
Сообщений всего: 13
Дата рег-ции: Июль 2013  


Помог: 0 раз(а)




Спасибо, сделал, теперь такие ошибки:

Warning: mysqli_stmt::bind_param() [mysqli-stmt.bind-param]: Number of variables doesn't match number of parameters in prepared statement in ...
No data supplied for parameters in prepared statement

Как я понял это несовпадение параметров, сам код такой:
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3. $db = new MySQLi('triniti.ru-hoster.com', 'aboutcvi', 'pass', 'aboutcvi'); // подставить свои значения
  4. $stmt = $db->prepare('INSERT INTO `users` SET `Key` = ?, `Level` = ?, `House` = ?'); // указать свою таблицу и поля
  5. $path = "users/"; // указать свой путь к папке, слешь в конце обязательно
  6.  
  7. if (!$stmt) {
  8.     die($db->error);
  9. }
  10.  
  11. if (is_dir($path)) {
  12.     foreach (scandir($path) as $file) {
  13.         if ($file == '..' || $file == '.') {
  14.             continue;
  15.         }
  16.        
  17.         $content = file_get_contents($path . $file);
  18.         $stmt->bind_param('ss', $file, $content);
  19.         if (!$stmt->execute()) {
  20.             die($stmt->error);
  21.         }
  22.     }
  23. }
  24. ?>
  25.  

Файлы имеют расширение %s.ini, %s неизвестная переменная так сказать.
Состав такой:
Key = text
Level = 10
House = 255
Ну и след. ключи в новых строчках. Можно показать пример как реализовать вот так, с ключами ? Если не сложно, пожалуйста...

(Отредактировано автором: 30 Июля, 2013 - 22:31:21)

 
 Top
armancho7777777 Супермодератор
Отправлено: 30 Июля, 2013 - 22:45:22
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




Panoptik, зачем в цикле инсёртить, если можно за раз вставить тысячи записей ?
К тому же синтаксис неверный.
Видимо с UPDATE спутали.

(Отредактировано автором: 30 Июля, 2013 - 22:49:07)

 
 Top
Саныч
Отправлено: 30 Июля, 2013 - 22:46:46
Post Id



Участник


Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010  
Откуда: Украина, Запорожье


Помог: 62 раз(а)




armancho7777777, спасибо, набирал прям на форуме, опечатался.

BeSS0n, смотрите строку
PHP:
скопировать код в буфер обмена
  1. $stmt->bind_param('ss', $file, $content);
Здесь подстановка параметров в запрос, если у вас три параметра, то первый замените на 'sss', ну и еще один естественно добавьте.

(Отредактировано автором: 30 Июля, 2013 - 22:47:38)



-----
Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
 
 Top
armancho7777777 Супермодератор
Отправлено: 30 Июля, 2013 - 22:47:42
Post Id



Активный участник


Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011  
Откуда: Москва


Помог: 221 раз(а)




.

(Отредактировано автором: 30 Июля, 2013 - 22:48:12)

 
 Top
Страниц (3): [1] 2 3 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB