[apache+PHP] max. 400 Kb uploaden via HTML form

Pagina: 1
Acties:
  • 126 views sinds 30-01-2008
  • Reageer

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Ik heb een formulier in HTML waarmee, of 10 foto's, of een zipfile kan worden geupload en behaldeld wordt door een PHP-script.
Dit HTML formulier is een heel erg standaard formulier, waarmee ik ook rekening heb gehouden met het deel 'multipart (oid.)'.
Dit verklaart ook waarom het fomulier goed werkt.
Tenminste als de aangegeven data (de 10 foto's of 1 zipfile) niet meer is dan 400 Kb. Dan gaat alles goed en worden de foto's netjes behandeld.
Is echter de totale grootte van de bestanden die via het formulier worden geupload groter dan 400 Kb dan geeft het formulier ook direct een fout. Dus niet pas na een tijdje als alles geupload is, maar meteen.

Dit kan volgens mij niet aan PHP liggen, tenminste alles wat ik omhoog kan krikken aan PHP.ini heb ik omhoog gekrikt. (max_file_upload=8M of 16M).
Op mijn eigen PC (lokaal) werkt het script wel, met bestanden groter dan 400 Kb, terwijl de instellingen van PHP precies hetzelfde zijn.

Ik heb de conf file van apache ook nagekeken, maar heb daar ook niets kunnen vinden qua maximum file opload oid.

Op een ander domein van mij, werkt het ook met meer dan 400 Kb met hetzelfde script, dus het ligt bij de server ergens

Waar zou het aan kunnen liggen?

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

Zijn er niet twee settings die je moet checken?

• upload_max_filesize ;)
• post_max_size

edit:

Voor zover ik weet bestaat max_file_upload niet :P

[ Voor 31% gewijzigd door BtM909 op 26-04-2004 11:15 ]

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Ik heb deze variabele idd. verkeer geformuleerd, het moet zijn wat je zei, maar ik weet ook zeker dat ik de php.ini volledig heb nagekeken en alles wat er op kon duiden dat php iets tegenhoud als het meer is dan ongeveer 400 Kb heb ik omhoog gezet, dus die tweede waar je het over hebt denk ik ook wel.

  • BtM909
  • Registratie: Juni 2000
  • Niet online

BtM909

Watch out Guys...

intermusic schreef op 26 april 2004 @ 11:22:
Ik heb deze variabele idd. verkeer geformuleerd, het moet zijn wat je zei, maar ik weet ook zeker dat ik de php.ini volledig heb nagekeken en alles wat er op kon duiden dat php iets tegenhoud als het meer is dan ongeveer 400 Kb heb ik omhoog gezet, dus die tweede waar je het over hebt denk ik ook wel.
Denk je het of weet je het zeker? ;)

Wellicht ook handige stof: http://nl2.php.net/features.file-upload

Ace of Base vs Charli XCX - All That She Boom Claps (RMT) | Clean Bandit vs Galantis - I'd Rather Be You (RMT)
You've moved up on my notch-list. You have 1 notch
I have a black belt in Kung Flu.


  • pietje63
  • Registratie: Juli 2001
  • Laatst online: 14:11

pietje63

RTFM

Het zit niet in PHP anders kreeg je het probleem pas NA het uploaden want dan gaat php pas zijn best doen.

Het is dus javascript/html (oops verkeerde forum maar dat wist je niet) Verder moet je in je html document even op zoek na de functies die BtM909 zei. Deze zullen waarschijnijk staan op een van de volgende plaatsen:
• <form ***>
• <input type=file ***>
• Een javascript dat iets controleert.

Als je even een url post is dat misschien ook wel leuk.

[ Voor 3% gewijzigd door pietje63 op 26-04-2004 11:37 ]

De grootste Nederlandstalige database met informatie over computers met zoekfunctie!!


  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
pietje63 schreef op 26 april 2004 @ 11:31:
Het zit niet in PHP anders kreeg je het probleem pas NA het uploaden want dan gaat php pas zijn best doen.

Het is dus javascript/html (oops verkeerde forum maar dat wist je niet) Verder moet je in je html document even op zoek na de functies die BtM909 zei. Deze zullen waarschijnijk staan op een van de volgende plaatsen:
• <form ***>
[*} <input type=file ***>
• Een javascript dat iets controleert.

Als je even een url post is dat misschien ook wel leuk.
Maar als er een fout zou zitten in het HTML fomulier, wat is dan de reden dat het bij mij lolaal en op een andre domein wel werkt?
De link zal ik later even posten, want ik zit nu op mn werk :O

  • stekkel
  • Registratie: Augustus 2001
  • Laatst online: 12-07 11:54
Kijk eens naar LimitRequestBody in httpd.conf. Ik weet dat de RH9 distro deze op 512Kb heeft staan waardoor je max upload afgeknepen wordt op 512 Kb.

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
stekkel schreef op 26 april 2004 @ 13:23:
Kijk eens naar LimitRequestBody in httpd.conf. Ik weet dat de RH9 distro deze op 512Kb heeft staan waardoor je max upload afgeknepen wordt op 512 Kb.
Kijk dit is interressant, het is namelijk ook rond de 500 Kb (ik hanteerde 400 Kb) dat het script nog upload, en daarna stopt.
Hoe zou die regel eruit moeten zien in de httpd.conf, wat voor waarde?
Gewoon 512 Kb oid.?

  • Nik
  • Registratie: April 2004
  • Laatst online: 30-08 21:25

Nik

// =========================== //
// -- //
// Geplaatst op: 13.11.2003 09:04 //
// Download URL:
// http://www.phphulp.nl/php/scripts/?cat=2&id=96 //
// -- //
// =========================== //

// ----------------
// Toelichting
// ----------------

/*
Bestand uploaden via een formulier.

De map waarin het in komt te staan heet in dit geval uploads

deze map moet gechmod met 777 zijn. lees meer over chmod: http://www.phphulp.nl/php/tutorials/8/54

Het zijn in totaal 2 bestanden. Zet ze beiden in een directory. Maak in die directory nog een directory aan genaamt uploads. die map moet dan dus geuploade worden. veel plezier met het script!

Erg simpel gemaakt opzich :)
*/

// ----------------
// Code:
// ----------------

<----- uploadbestand.php --------->

<html>
<head><title>Upload een bestand</title></head>
<body>

<p>Je kunt de <b>naam om up te loaden leeg laten</b>. Dan wordt de naam zoals het bestand om het moment zelf heet.</p>

<form enctype="multipart/form-data" action="upload.php" method="post">
<p>
<input type="hidden" name="MAX_FILE_SIZE" value="5120" />
Selecteer een bestand: <input name="userfile" type="file"><br />
Naam om up te loaden: <input name="newname" type="text"><br />
<input type="submit" value="upload bestand" />
</p>
</form>

</body>
</html>

<------ upload.php ------->

<?
global $_FILES;

$filename = $_FILES['userfile']['name'];

if ($_POST["newname"])
$uploadname = $_POST['newname'];
else
$uploadname = $_FILES['userfile']['name'];

if (is_uploaded_file($_FILES['userfile']['tmp_name'])) {
move_uploaded_file($_FILES['userfile']['tmp_name'], "uploads/" . $uploadname);

echo "Het bestand is geupload onder de naam: $uploadname";
}
?>


:)

  • blizt
  • Registratie: Januari 2003
  • Laatst online: 30-06 08:50

blizt

Wannabe-geek

Leuk scriptje enzo (gebruik wel ff php-tags voortaan ;) ) maar wat heeft de topicstarter er aan? Het script is goed, er zit aan de serverkant een fout ....

United we stand, and divided we fall


  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 27-08 14:17
proller schreef op 26 april 2004 @ 15:26:
PHP:
1
2
3
SNIP
global $_FILES;
SNIP
AHUM!! :X $_FILES is al een superglobal dus waarom nog een keer. Bovendien is het probleem van de topicstarter niet dat hij geen file kan uploaden, maar dat het boven een bepaalde grootte niet meer lukt.
:Z

  • AtleX
  • Registratie: Maart 2003
  • Niet online

AtleX

Tyrannosaurus Lex 🦖

intermusic schreef op 26 april 2004 @ 11:08:
*knip*

geupload groter dan 400 Kb dan geeft het formulier ook direct een fout. Dus niet pas na een tijdje als alles geupload is, maar meteen.

*knip*
Wat is de foutmelding?

Sole survivor of the Chicxulub asteroid impact.


  • gvdh81
  • Registratie: Juli 2001
  • Laatst online: 13-08 18:15

gvdh81

To got or not to got..

zucht.. kun je htaccess aanpassen?

Frot dit erin en klaar;
code:
1
2
3
4
php_value max_execution_time 1800
php_value upload_max_filesize 15728640
php_value memory_limit 33554432
LimitRequestBody 0


(heb namelijk precies hetzelfde gemaakt) Het script mag hierdoor een half uur draaien, Er mag 15MB geupload worden en de memory limit verhoog je tot 30MB.

Deze values zijn zo absurd hoog omdat dit code van mijn eigen CMS is waar klanten gebruik van kunnen maken. Na het uploaden word het zip filetje op de server verwerkt en door Imagick c.q. GD (net wat ze hebben gekozen) gehaalt om thumbnails aan te maken en de grote versies eventueel te resizen.

  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
Ik weet niet of het veel uitmaakt, maar hier de apache logs:

FAILED (meer dan 512Kb):

mijn ip - - [26/Apr/2004:16:59:42 +0200] "POST /new/news_update/nieuws_beheer/beheer.php?action=save_zip&checkpage=foto&sql_id=7 HTTP/1.1" 413 1028 "phpbestandje.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

mijn ip - - [26/Apr/2004:16:59:43 +0200] "POST /new/news_update/nieuws_beheer/beheer.php?action=save_zip&checkpage=foto&sql_id=7 HTTP/1.1" 413 1028 "phpbestandje.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

mijn ip - gebruikersnaam [26/Apr/2004:16:59:43 +0200] "POST /new/news_update/nieuws_beheer/beheer.php?action=save_zip&checkpage=foto&sql_id=7 HTTP/1.1" 200 990 "phpbestandje.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

NOT FAILED (minder dan 512 Kb)

mijn ip - - [26/Apr/2004:16:59:42 +0200] "POST /new/news_update/nieuws_beheer/beheer.php?action=save_zip&checkpage=foto&sql_id=7 HTTP/1.1" 413 1028 "phpbestandje.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

mijn ip - - [26/Apr/2004:16:59:43 +0200] "POST /new/news_update/nieuws_beheer/beheer.php?action=save_zip&checkpage=foto&sql_id=7 HTTP/1.1" 413 1028 "phpbestandje.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

mijn ip - gebruikersnaam [26/Apr/2004:16:59:43 +0200] "POST /new/news_update/nieuws_beheer/beheer.php?action=save_zip&checkpage=foto&sql_id=7 HTTP/1.1" 200 990 "phpbestandje.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

mijn ip - gebruikersnaam [26/Apr/2004:17:06:03 +0200] "POST /new/news_update/nieuws_beheer/beheer.php?action=save_zip&checkpage=foto&sql_id=7 HTTP/1.1" 200 1105 "phpbestandje.php" "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)"

[ Voor 20% gewijzigd door intermusic op 26-04-2004 17:22 ]


  • beetle71
  • Registratie: Februari 2003
  • Laatst online: 27-08 14:17
mmm, een 413 response, dat is een 'REQUEST ENTITY TOO LARGE' ....
Dit is dus ZEER waarschijnlijk het probleem waarover Stekkel hierboven een link post.

code:
1
LimitRequestBody 10240000

in je httpd.conf (de grootte van de instelling is in bytes, dus hier +- 10 Meg.) of in je .htacces (als dat toegestaan is)

[ Voor 10% gewijzigd door beetle71 op 26-04-2004 17:51 ]


  • intermusic
  • Registratie: September 2002
  • Laatst online: 25-03-2025

intermusic

Marc Hoekstra

Topicstarter
beetle71 schreef op 26 april 2004 @ 17:50:
mmm, een 413 response, dat is een 'REQUEST ENTITY TOO LARGE' ....
Dit is dus ZEER waarschijnlijk het probleem waarover Stekkel hierboven een link post.

code:
1
LimitRequestBody 10240000

in je httpd.conf (de grootte van de instelling is in bytes, dus hier +- 10 Meg.) of in je .htacces (als dat toegestaan is)
Ook heb ik nog deze info uit de error log:
Requested content-length of 600398 is larger than the configured limit of 524288

Nadat ik die 4 regels van de vorige post, welke ik in een htaccess filetje kon zetten, heb geupload en daarna iets deed liep de hele server traag en nu ik het bestandje er weer uit heb gehaald loopt de server nog traag.

Ik ga zeker dit regeltje van jou gebruiken beetle. Ik hoop dat ik daar ver mee kom.

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 31-08 15:26

.oisyn

Moderator Devschuur®

Demotivational Speaker

Heeft niets met programming te maken :)
P&W FAQ - Installatie c.q. SA vragen

PW -> SA

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


  • Arnaud
  • Registratie: Mei 2000
  • Laatst online: 02-08 18:07
Ik heb jaren geleden een soortgelijk probleem gehad. Dit ging toen weliswaar om ASP in combinatie met IIS, maar de oplossing / workaround werkt waarschijnlijk ook voor jou. Het komt er kort gezegd op neer dat je de te uploaden data door JavaScript in kleinere blokjes laat splitsen en die door je ServerSide-script (in jouw geval dus PHP in plaats van ASP) weer laat samenvoegen tot 1 geheel.
Pagina: 1