webForumDet fria alternativet

ini_set()???

2 svar · 280 visningar · startad av Uwe

UweMedlem sedan nov. 2003181 inlägg
#1

Standard är att man inte kan ladda upp större filer än 2 Mb. Jag tänkte höja den nivån till 5 Mb, och har därmed försökt att använda funktionen ini_set() för att göra detta. Men något blir fel och det fungerar inte

Jag har en separat fil för själva formuläret och en för själva uppladdningen.
De båda filerna ser ut på följaden sätt:

Formuläret

<form enctype="multipart/form-data" name="uploadForm" action="uppladdning.php" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="5242880"><br>
Fil: <input name="uploadFile" type="file" size="50"><br>
<input type="submit" value="Ladda upp" name="cmdSubmit">

uppladdningen

if (isset($_FILES['uploadFile'])){
	ini_set('upload_max_filesize',"5M");
	$filename = $_FILES['uploadFile']['name'];
	if (move_uploaded_file($_FILES['uploadFile']['tmp_name'], "filer/".$filename)){
	.
	.
	.

Det fungerar fint om man försöker ladda upp filer som är mindre än 2 Mb, så det måste vara nåt fel på min användning av ini_set(). Är det någon som är familjär med den funktionen?

/Uwe

MatteMedlem sedan aug. 20002 970 inlägg
#2

Ta en titt på ini_set i manualen.

På raden för upload_max_filesize finner du "PHP_INI_SYSTEM|PHP_INI_PERDIR".

Om du tittar lite längre ner på samma sida så finner du "PHP_INI_PERDIR Entry can be set in php.ini, .htaccess or httpd.conf".

Det innebär att du endast kan ändra denna inställning med en htaccess-fil om du inte har tillgång till php.ini. Dessutom måste servern vara konfigurerad att tillåta ändringar med htaccess.

Det är endast de inställningar som är märkta med "PHP_INI_ALL" som du kan ändra med ini_set i ett skript.

UweMedlem sedan nov. 2003181 inlägg
#3

Då förstår jag. Jag har tittat på ini_set i manuelen, men inte förstått riktigt tror jag. Tack matte för att du gav en mycket bra beskrivning på detta så att jag fattade.

På mitt webhotell ligger en fil som heter .htaccess men hur kan jag utnyttja den för att lösa mitt problem? Alltså hur skriver jag i den filen för att det ska funka att ladda upp större filer än 2 Mb?

Går det att använda LimitRequestBody?

Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb