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 )
<?php
if ($rek=="dodaj"){
echo '<style type="text/css" media="all">@import url('.$styl.'/style.css);</style>'; if ($_SESSION["zalogowany"]=="tak") {
$nazwa_pliku_baz = $_FILES['f_plik']['name'];
$nazwa_pliku=conv_to_safe_name($nazwa_pliku_baz);
$nazwa_tmp = $_FILES['f_plik']['tmp_name'];
$poj=$_FILES['f_plik']['size'];
//$pojemnosc_pliku = format_size($_FILES['f_plik']['size']);
$pojemnosc_pliku = format_size($poj);
$typ_pliku = $_FILES['f_plik']['type'];
$status = 1;
$error=0;
$path=$pliki.'/'.$nazwa_pliku;
$us=$_SESSION['login'];
if ( $poj > "73400320" ) {
echo "<p class=\"err\">Za wielki MAX <b> 70 MB </b></p>"; echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">'; $error++;
}
if ($poj <= "0"){
echo "<p class=\"err\">Plik ma zerową pojemność</p>"; echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">'; $error++;
}
echo "<p class=\"err\">Plik ma taką samą nazwę jak plik na serwerze</p>"; echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">'; $error++;
}
if (strlen($nazwa_pliku) >= 29
){ echo "<p class=\"err\">Plik ma za długą nazwę max 30 znaków ( spacje, podkreślenia, kropki, przecinki to też znaki )</p>"; echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">'; $error++;
}
$error++;
//echo $error."<br>";
echo "<p class=\"err\">Niedozwolone rozszerzenie !!!!</p>"; echo '<META HTTP-EQUIV="Refresh" CONTENT="2; URL=index_login.php">'; }
if ($error==0){
polacz_db();
$wynik = "INSERT INTO $M_TABELA (id_plik, p_nazwa, p_pojemnosc, p_typ, uzytkownik, dt_dodania, status) ".
"VALUES (NULL, '$nazwa_pliku', '$pojemnosc_pliku', '$typ_pliku', '$us', NOW(), 0)";
// sprawdzamy czy zapytanie mysql_query zwraca 1 jeśli rekord dodany poprawnie
echo '<p class="pole_info">Dziękujemy dane zapisane poprawnie</p>'; //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">';
echo '<a style="text-decoration: none;" href="index_login.php"> <img style="border: 0px;" src="'.$img.'/b_back.png" width="22" height="22" /></a>';
}
echo '<a style="text-decoration: none;" href="index_login.php?rek=d"> <img style="border: 0px;" src="'.$img.'/b_back.png" width="22" height="22" /></a>'; }
else { echo "Niedozwolone parametry";} }
?>
Plik nie zostaje wgrany na serwer, ale dlaczego nie wyświetla się komunikat , o zbyt wielkim pliku ?
Będę wdzięczny za pomoc
Redelek
Ten post edytował redelek 6.05.2009, 08:12:03