|
15. Safe Mode
15.1 Bestanden uploaden bij Widexs.
Bij providers die safe mode enabled hebben kan je vaak geen bestanden uploaden.
WideXS heeft een php versie draaien waarbij je wel om dat probleem heen kan. Dit
doe je met behulp van de move_uploaded_file() functie. Vanaf php versie
4.0.5 zou dit probleem verholpen zijn.
Om te beginnen moet je zorgen dat je een dir hebt die beschreven kan worden. Maak
hiervoor bijvoorbeeld een dir aan die je de naam upload geeft. Geef het voldoende
rechten (777). Hierna kan je de interface aanmaken.
<code>
Je maakt eerst een form aan en verwijzen daarin naar een bestand dat
de bezoeker de mogelijkheid geeft om via een webinterface een bestand
kan uploaden.
<FORM ENCTYPE="multipart/form-data" ACTION="bar.php" METHOD=POST>
<INPUT TYPE="hidden" name="MAX_FILE_SIZE" value="1000000">
Send this file: <INPUT NAME="userfile" TYPE="file">
<INPUT TYPE="submit" VALUE="Send File">
</FORM>
Vervolgens zet je in dat bestand de volgende code. Dit zorgt
ervoor dat het bestand naar een dir kan worden ge'moved'. Zorg ervoor
dat je de bestanden de 0644 privs geeft zodat bezoekers geen scripts
kunnen opstarten die ze uploaden.
Bij deze nogmaals dank aan Niels Leenheer die me bij het laatste
stukje heeft geholpen.
<?php
$tmp_name = $HTTP_POST_FILES["userfile"]["tmp_name"];
move_uploaded_file ($tmp_name, "/path/upload/example.zip");
chmod("/path/upload/example.zip", 0644);
?>
</code>
|