Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Scalanie pól
br4tp1t
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 7.11.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


Witam, mam taki problem, że z pewnego programu jest wywolywana funkcja ktora za pomocą phpa zapisuje pliki w MYSQL. Wszystko byloby oki gdyby nie fakt ze przechodzą pliki o max wielkosci 64KB, większe już nie, nie mam jak ingerowac w php.ini ponieważ sam skrypt php i baza mysql jest na zew serwerze do którego nie mam dostępu na takim poziomie. I chciałbym zrobić scalanie, tzn program podzieli plik na części po 64KB to się zapisze w tabeli tymczasowej i na tym etapie jest oki kazda część ma identyczna sygnature, id oraz która to jest c zęść i z ilu. Problem polega na tym ze musze poźniej te części scalic zapisać juz jako jeden plik w nowej bazie starą usunąć, a podczas scalania trzeba sprawdzić czy napewno wszystkie części dotarły i czy zgadza się sygnatura.
Proszę o wskazówki. Narazie wygląda to tak (jest to oczywiście tylko część skryptu)
  1. <?php
  2.  
  3. function temp_zapisz ($tabela, $sygnatura, $last, $current, $dane, $nazwa)
  4. {
  5.  $qq = &#092;"SELECT * FROM test_temp WHERE id='$current' LIMIT 1\";
  6.  $result= mysql_query ($qq);
  7.  $il_rek = mysql_num_rows ($result);
  8.  if ($il_rek > 0) {
  9. $row = mysql_fetch_array($result);
  10. $pid = $row[&#092;"id\"];
  11.  }
  12.  else {$pid = $current; }
  13.  
  14.  echo&#092;" temp PID=$pid \";
  15.  
  16.  if ($il_rek > 0) {
  17.  $qq = &#092;"UPDATE test_temp SET sygnatura='$sygnatura', last='$last', dane='$dane',
  18. nazwa='$nazwa' WHERE id='$pid' LIMIT 1&#092;";
  19.  }
  20.  else {
  21.  $qq = &#092;"INSERT INTO test_temp SET sygnatura=$sygnatura \";
  22.  }
  23. //  echo\" qq $qq \";
  24.  $result = mysql_query($qq) or die (&#092;"blad rr\");
  25.  
  26.  $danetemp=&#092;"\";
  27.  if ($last = $current ) {
  28.  temp_scalaj ($tabela, $last, $danetemp);
  29.  echo &#092;"n\".\"scalone: $danetemp \".\"n\".\"KONIEC SCALANIA\";
  30.  }
  31.  echo &#092;"n\".\"BEZ SCALANIA\";
  32. }
  33. ?>


Ten post edytował br4tp1t 25.11.2004, 12:10:38


--------------------
GG: 1024310
Go to the top of the page
+Quote Post
scanner
post
Post #2





Grupa: Zarząd
Postów: 3 503
Pomógł: 28
Dołączył: 17.10.2002
Skąd: Wrocław




Zamykam do czasu otrzymania informacji który punkt Regulaminu naruszyłeś i jak chesz to naprawic.


--------------------
scanner.info
Warto pamiętać: KISS, DRY
Go to the top of the page
+Quote Post
br4tp1t
post
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 7.11.2003
Skąd: Zabrze

Ostrzeżenie: (0%)
-----


oki, może scalanie narazie zostawie, jak zrobić żeby sprawdzał mi sygnature wszystkich części na podstawie ostatniej. Czyli jest wysyłanych 10 częsci, po otrzymaniu ostatniej należałoby sprawdzić id(tej ostatniej) czyli np. 10 i wtedy porowna kazda sygnature z ostatnia np. sygnatura=sygnatura_ostatnia. Wiem, że to pewnie prosta pętla ale jakoś nie potrafie wymyśleć nic sensownego sad.gif


--------------------
GG: 1024310
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 11:30