![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
Witam
nie wiem jak rozwiazac ponizszy problem: mamy plik przyklad.txt jego zawartosc to : 211222222 34444444 45435344423 4234234242 24442424234242 potrzebuje to zasac z poziomu strony do bazy chodzi o wskazanie pliku przyklad.txt ale sadze ze taki maly formularz wystarczy : <input type="hidden" name="MAX_FILE_SIZE" value="9999999999" /> Plik do wysłania: <input name="userfile" type="file" /> <input type="submit" value="Wyślij" /> teraz mam problem z wrzuceniem ego pliku do bazy tylko potrzeba jeszcze dodac jeszcze jedno pole w tabeli mamy takie pola id,nr_kat,data nr_katalogowany ma byc pobrany z pliku .txt a data to aktualna data tj dzien w ktorym dodawane sa dane do bazy czy jest mi ktos w stanie pomoc z gory dzieki |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
- poczytaj o takim zapytaniu, doda do bazy od razu cały plik. Pole typu ID zrób auto_increment a w pole data po prostu wstaw UPDATE'm aktualną datę lub ustaw we właściwościach pola tak, żeby domyślnie wpadała bieżąca data, gdy pojawi się nowy rekord. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
wlasnie probuje zrobic przez fgets
tylko spotkalem sie z takim problemem ze jesli plik nie znajdzie sie na serwerze to nie chce go zaczytac gdzie moze byc blad <?php require ('xxx.php'); $plik=$_POST['plik']; $uchwyt = @fopen ($plik, "r"); if ($uchwyt) { while (!feof($uchwyt)) { $buffer = fgets($uchwyt, 4096); $z_dodaj = "INSERT INTO bo_baza_karty SET id='' , nr_karty='$buffer', data='$data_akt'"; $r_dodaj = mysql_query($z_dodaj) or die ("gdzies jest bug ". mysql_error()); } fclose ($uchwyt); } ?> |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
LOAD DATA INFILE to najlepsza i najszybsza metoda. Będize lepiej szybciej i najbardziej optymalnie.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
po co bawić się fgets skoro każdy nr kategorii w pliku jest w nowej linii, funkcja file wczytuje nam od razu cały plik do tablicy, Ten post edytował pgrzelka 3.06.2009, 10:51:50 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 214 Pomógł: 26 Dołączył: 7.11.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
po co bawić się fgets skoro każdy nr kategorii w pliku jest w nowej linii, funkcja file wczytuje nam od razu cały plik do tablicy, to ja ci odpowiem, bo sam kiedyś tak myślałem ale mnie forumowicze wyprowadzili z błędu: wyobraź sobie plik ważący ~50mb i tą samą operacje, którą wykonuje 50 użytkowników.... |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
po co bawić się fgets skoro każdy nr kategorii w pliku jest w nowej linii, funkcja file wczytuje nam od razu cały plik do tablicy, powiem ze tego nigdy nie robilem przez to szukalem najlepszej metody wydaje mi sie ze to bedzie okey ale mam nastepny problem z przekazaniem tego pliku do z formularza do tablicy $tablica = file($_POST['plik']); i znow problem ehhh |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 493 Pomógł: 32 Dołączył: 14.04.2008 Skąd: Lenkowski.net Ostrzeżenie: (0%) ![]() ![]() |
No ej panowie, ale wygląda na to ze to nie operacja wykonywana przez kilku userów. Mimo to sądzę że najlepsiajszą metodą jest uzywanie PHPMyAdmin, linki MySql czy czegoś w ten deseń. Jak to się ma wykonywać non stop no to raczej trzeba zrobic oś innego bo to idiotyzm, tak (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 29.05.2009 Ostrzeżenie: (0%) ![]() ![]() |
to ja ci odpowiem, bo sam kiedyś tak myślałem ale mnie forumowicze wyprowadzili z błędu: wyobraź sobie plik ważący ~50mb i tą samą operacje, którą wykonuje 50 użytkowników.... plik moze miec max 8tys rekordow i max 1 osoba to bedzie robic No ej panowie, ale wygląda na to ze to nie operacja wykonywana przez kilku userów. Mimo to sądzę że najlepsiajszą metodą jest uzywanie PHPMyAdmin, linki MySql czy czegoś w ten deseń. Jak to się ma wykonywać non stop no to raczej trzeba zrobic oś innego bo to idiotyzm, tak (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) przez pma to bez problemu ale to ma byc dla osoby ktora ma nie miec dostepu |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Cytat $tablica = file($_POST['plik']); nie tak, najpierw musisz wgrać plik na serwer do jakiegoś folderu a dopiero potem zrobić file('wgranyplik.txt'); poszukaj o move_uploaded_file Cytat plik moze miec max 8tys rekordow i max 1 osoba to bedzie robic spokojnie możesz zastosować moje rozwiązanie, mojemu skromnemu vps'owi wgranie 17k bardziej rozbudowanych rekordów zajmowało ok 20 sekund |
|
|
![]()
Post
#12
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
Ostatni raz proszę o tag tematu.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 01:24 |