Hej,

Mam taki problemik,
Na moją stronę można dodawać pliki do 70MB. Mam pominięty plik php.ini i zwiększona pojemność wysyłanych plików jest ustawiona w htaccess.
Wszystko działa piękni, ale do pewnego momentu. Plik wysyłany powyżej 100MB ( czyli 300MB i 500MB ) nie kończy się komunikatem , o zbyt wielkiej pojemności pliku tylko przeładowaniem strony.

Tak wygląda skrypt ( nie śmiejcie się pewnie to można zrobić łatwiej, ale narazie tylko tak umiem )

  1. <?php
  2. if ($rek=="dodaj"){
  3.    echo '<style type="text/css" media="all">@import url('.$styl.'/style.css);</style>';
  4.    if ($_SESSION["zalogowany"]=="tak") {
  5.    $nazwa_pliku_baz = $_FILES['f_plik']['name'];
  6.    $nazwa_pliku=conv_to_safe_name($nazwa_pliku_baz);
  7.    $nazwa_tmp  = $_FILES['f_plik']['tmp_name'];
  8.    $poj=$_FILES['f_plik']['size'];
  9.    //$pojemnosc_pliku = format_size($_FILES['f_plik']['size']);
  10.    $pojemnosc_pliku = format_size($poj);
  11.    $typ_pliku = $_FILES['f_plik']['type'];
  12.    $status = 1;
  13.    $error=0;
  14.    $path=$pliki.'/'.$nazwa_pliku;
  15.    $roz= array_pop(explode(".", $nazwa_pliku));
  16.    $us=$_SESSION['login'];
  17.    
  18.    if ( $poj > "73400320" ) {
  19.        echo "<p class=\"err\">Za wielki MAX <b> 70 MB </b></p>";
  20.        echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">';
  21.        $error++;
  22.        }
  23.    if ($poj <= "0"){
  24.        echo "<p class=\"err\">Plik ma zerową pojemność</p>";
  25.        echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">';
  26.        $error++;
  27.        }
  28.    if (file_exists($path)){
  29.        echo "<p class=\"err\">Plik ma taką samą nazwę jak plik na serwerze</p>";
  30.        echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">';
  31.        $error++;
  32.        }
  33.    if (strlen($nazwa_pliku) >= 29 ){
  34.        echo "<p class=\"err\">Plik ma za długą nazwę max 30 znaków ( spacje, podkreślenia, kropki, przecinki to też znaki )</p>";
  35.        echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">';
  36.        $error++;
  37.        }
  38.  
  39.    if (!in_array($roz,$mime_plik )){
  40.        $error++;
  41.        //echo $error."<br>";
  42.        echo "<p class=\"err\">Niedozwolone rozszerzenie !!!!</p>";
  43.        echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">';
  44.        }
  45.    if ($error==0){
  46.        @move_uploaded_file($nazwa_tmp, $path);
  47.        polacz_db();
  48.        $wynik = "INSERT INTO $M_TABELA (id_plik, p_nazwa, p_pojemnosc, p_typ, uzytkownik, dt_dodania, status) ".
  49.            "VALUES (NULL, '$nazwa_pliku', '$pojemnosc_pliku', '$typ_pliku', '$us', NOW(), 0)";
  50.            // sprawdzamy czy zapytanie mysql_query zwraca 1 jeśli rekord dodany poprawnie    
  51.        mysql_query($wynik) or die ('Nie można dodac do bazy');
  52.            echo '<p class="pole_info">Dziękujemy dane zapisane poprawnie</p>';
  53.            //echo '<p class="pole_info"> Za 5 sek. nastąpi automatyczne przekierowanie. Jeśli nie zadziała kliknij ZIELONĄ IKONKĘ</p><META HTTP-EQUIV="Refresh" CONTENT="5; URL=index_login.php">';
  54.      echo '<a style="text-decoration: none;" href="index_login.php">&nbsp;<img style="border: 0px;" src="'.$img.'/b_back.png" width="22" height="22" /></a>';
  55.            exit;
  56.                    
  57.        }
  58.        echo '<a style="text-decoration: none;" href="index_login.php?rek=d">&nbsp;<img style="border: 0px;" src="'.$img.'/b_back.png" width="22" height="22" /></a>';
  59.    }
  60.    else { echo "Niedozwolone parametry";}
  61. }
  62. ?>


Plik nie zostaje wgrany na serwer, ale dlaczego nie wyświetla się komunikat , o zbyt wielkim pliku ?

Będę wdzięczny za pomoc

Redelek