Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MYSQL] Upload pliku + nie chce dodac powyzej 1M
Forum PHP.pl > Forum > Przedszkole
blizni79
Mój problem polega na tym że baza danych nie chce przyjąc plików większych niż 1M. Tabela do któej dodaje jest ustawiona prawidłowo. Brakuje mi już rozwiazań.
Poradzcie cos smile.gif
Ten błąd pobralem z proby dodania pliku przez phpmyadmin.
Fatal error: Allowed memory size of 20971520 bytes exhausted (tried to allocate 2134174 bytes)
in /usr/local/phpmyadmin/libraries/sqlparser.lib.php on line 211


w formularzu na stronie nie pojawia sie zaden blad.
Jak to ominąc??
nospor
To nie wina bazy, tylko wina tego ze masz limit ustawione na skrypt php, i ten limit wlasnie osiągnales.Masz to bardzo ladnie napisane w komunikacie o bledzie smile.gif

przenosze. zbazka to nie ma nic wspolnego
blizni79
No dobrze, limity w skrypcie php
http://www.cim.pw.edu.pl/uchwyty/info.php
w phpinfo() wszystko jest ciete powyzej 10mb
upload_max_filesize 10M
post_max_size 10M


moze to to?
max_execution_time 30
max_input_time 60

w samym skrypcie upload nie ma zadnych limitow
JohnySpot
Jest jeszcze
memory_limit =

i <input type="hidden" name="max_file_size" value="90000000" />
macbirdie
To akurat jest błąd wyczerpania pamięci - plik przyjmuje bez problemu, jednak phpMyAdmin chce ten plik wciągnąć do bazy, wcześniej go analizując. Lepiej ten pliczek powrzucaj kawałkami, albo przez użycie mysql z linii komend.
Coś a'la
Cytat
mysql -uuzytkownik -p nazwabazy < plik.sql
blizni79
Dzieki macbirdie za zrozumienie smile.gif
Pliki jakie wrzucam do bazy to .SLTPRT, moze to ma jakis wplyw??
Informacje podane przez JohnySpot zostały przezemnie sprawdzone wczesniej - to tez nie pomoglo.

Może kolega macbirdie powiesz mi jak wrzucac takie pliki po kawaleczku?
Problem w tym ze to ma dzialac z poziomy formularza.
A formularz przepuszcza go
Array ( [userfile] => Array ( [name] => kołek oporowy z łbem naciety-d40x90.SLDPRT [type] => application/octet-stream [tmp_name] => /tmp/php6KoYuE [error] => 0 [size] => 1067008 ) )
a baza go nie dodaje??
Z mniejszymi plikami nie ma problemu. A jesli chdozi o pliki SLDPRT to przyjmuje je ponizej 600kb, zip i inne pobiera ponizej 1mb.
Z tego samego formularza wysylajac pliki na serwer do danej lokalizacji, pliki przechodza super, bez zadnego ale.

I co tu nie gra??
JohnySpot
Sprawdź jeszcze w $_FILES[ ... ][ 'error' ]
no i zobacz, na jakim etapie to się dzieje. Ja wczoraj pisałem skrypt i zrobiłem to tak:

  1. <?php
  2. private function zapisz_plik($rozszerzenie) {
  3. $typy = array('audio/mpeg3' => 'mp3','audio/mpeg' => 'mp3','audio/x-mpegurl' => 'mp3', 'audio/x-ogg' => 'ogg', 'application/x-ogg' => 'ogg');
  4. $max_rozmiar = 10*1024*1024;
  5. if (is_uploaded_file($_FILES['plik']['tmp_name'])) {
  6. if ($_FILES['plik']['size'] > $max_rozmiar) {
  7.  echo '<p class="err">Błąd! Plik jest za duży!</p>';
  8. } else {
  9.  if (!isset($_FILES['plik']['type'])) {
  10. $typ = mime_content_type('./audio/'.md5($_SESSION['nick']));
  11.  } else {
  12. $typ = $_FILES['plik']['type'];
  13.  }
  14.  $rozszerzenie_mime = FALSE;
  15.  foreach ($typy AS $mime => $rozsze) {
  16. $rozszerzenie_mime = ($mime == $typ) ? $rozsze : FALSE;
  17. if ($rozszerzenie_mime) {
  18. break;
  19. }
  20.  
  21.  }
  22.  if ($rozszerzenie_mime) {
  23. echo '<p class="ok">Odebrano plik. Początkowa nazwa: '.$_FILES['plik']['name'].'</p>';
  24. if (file_exists('./audio/'.md5($this->mysql->insert_id).'.'.$rozszerzenie)) {
  25. @unlink('./audio/'.md5($this->mysql->insert_id).'.'.$rozszerzenie);
  26. }
  27.  
  28. move_uploaded_file($_FILES['plik']['tmp_name'], './audio/'.md5($this->mysql->insert_id).'.'.$rozszerzenie);
  29.  } else {
  30. echo 'Błędny typ mime pliku.';
  31.  }
  32.  
  33. }
  34. } else {
  35. echo '<p class="err">Błąd przy przesyłaniu danych!</p>';
  36. }
  37.  }
  38. ?>


tongue.gif:P Zapomniałem, że Ty masz błąd w php. A spróbuj upladowac ten sam plik do folderu nie do bazy ?
blizni79
Sprawa wyglada tak jak wczesniej napisalem
plik wysylany na serwer - dziala
plik wysylany do bazy danych - nie dziala

wiec mysle ze to raczej sprawa bazy danych a nie php.

kto ma jakis inny pomysl na to czemu to nie chodiz?questionmark.gif
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.