Mam skrypt uploadujący pliki na serwer i jednocześnie korzystający z sesji/cookie... no i wszystko pięknie ładnie działa.. Ale gdy uploadowany plik przekroczy wielkość ustaloną w php.ini: upload_max_filesize, to przed nagłówkami cookie/session jest coś wysyłane.. co? właśnie nie mam pojęcia. Funkcje output buffering ob_start() i ob_end_flush() nie chcą pomóc.
Wina nie leży w strukturze samej aplikacji ponieważ dla przykładowego skryptu:
upload.php:
[php:1:34a0ed4854]
<?php
ob_start();
session_start();
if(!count($_FILES['test']))
{
?>
<form enctype="multipart/form-data" action="upload.php" method="POST">
<p>
Plik:<br />
<input type="file" name="test">
</p>
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="51200">
<input type="submit" name="submit_login" value="Załaduj">
</p>
</form>
<?php
} else {
echo('<pre>'.var_export($_FILES,1).'</pre>');
}
ob_end_flush();
?>
[/php:1:34a0ed4854]
..dzieje się identycznie. tzn wypluwa:
Cytat
Warning: session_start() [function.session-start.html]: Cannot send session cache limiter - headers already sent in f:phpwwwroboczetestuploadupload.php on line 7
array (
'test' =>
array (
'name' => 'jakis_duzy_plik.mp3',
'type' => '',
'tmp_name' => '',
'error' => 1,
'size' => 0,
),
)
array (
'test' =>
array (
'name' => 'jakis_duzy_plik.mp3',
'type' => '',
'tmp_name' => '',
'error' => 1,
'size' => 0,
),
)
Ktoś wie, gdzie może leżeć problem?
Serwer apache 1.3.26, php 4.3.0, całość siedzi na windzie.