Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Dodanie treści pliku do bazy
Forum PHP.pl > Forum > Przedszkole
mlody69
Witam,
mam w pliku tekstowym tekst. Chciałbym wrzucić to do jakiejś tabeli ale każdą linię z pliku tekstowego do osobnego wiersza, ale kompletnie nie mam pojęcia jak to zrobić. Prosze o jakieś rady smile.gif
altruista2
athei: raczej mu nie pomogłeś...

  1. $wiersze = Array();
  2. $handle = @fopen("plik.txt", "r");
  3. if ($handle) {
  4. while (!feof($handle)) {
  5. $buffer = fgets($handle, 4096);
  6. $wiersze[] = $buffer;
  7. }
  8. fclose($handle);
  9. }
  10.  
  11. if(count($wiersze) > 0) {
  12. mysql_query("INSERT INTO Tabela (Tekst) VALUES '".join("','",$wiersze)."'");
  13. }
mlody69
Dzięki za odpowiedź, ale coś nie działa.
Kod wygląda tak:
  1. <?php
  2. mysql_connect('localhost','root','');
  3. mysql_select_db('users');
  4. $wiersze = Array();
  5. $handle = @fopen("users.txt", "r");
  6. if ($handle) {
  7. while (!feof($handle)) {
  8. $buffer = fgets($handle, 4096);
  9. $wiersze[] = $buffer;
  10. }
  11. fclose($handle);
  12. }
  13.  
  14. if(count($wiersze) > 0) {
  15. mysql_query("INSERT INTO users (?) VALUES '".join("','",$wiersze)."'");
  16.  
  17. }
  18. ?>

plik wygląda tak:
nick
nick2
I nie dodaje nic do bazy users do tabeli users

Działa, teraz wywala błąd:
Kod
MySQL server has gone away


Zmieniłem co nieco i dodaje do tabeli ale wszystko do jednego zamiast każde do osobnego wiersza
d3f3nd3r
http://php.net/manual/pl/function.file.php




  1. <?php
  2.  
  3.  
  4. $db = mysql_connect("$db_host","$db_user","$db_password");
  5. mysql_select_db("$db_name",$db);
  6.  
  7.  
  8.  
  9. // Pobierz plik do tablicy. W tym przykładzie poprzez HTTP pobierzemy
  10. // źródło HTML z URL
  11. $lines = file('plik.txt');
  12. // Za pomocą pętli przeglądamy naszą tablicę i pokazujemy źródło strony w postaci
  13. // źródła HTML oraz numery linii.
  14. foreach ($lines as $line_num => $line) {
  15.  
  16. $line=htmlspecialchars($line);
  17.  
  18. $result = mysql_query("INSERT INTO users (nick) VALUES ('$line')");
  19.  
  20. }
  21.  
  22. ?>


W bazie tylko id auto_increment

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.