langage interprété programmation web internet
Dans httpd.conf :
DocumentRoot et ses règles <Directory “D:/htdocs”>CustomLog D:/pteu.ath.cx.log combinedc:\program files par exphp.ini-recommanded dans c:\Windows\ ; le renommer en php.ini
dans php.ini :
c:\php\extensions)NB : on remarquera les antislash
dans httpd.conf
LoadModule php4_module "C:/Program Files/php-4.4.1-Win32/sapi/php4apache2.dll" AddType application/x-httpd-php .php .php3 .php4 PHPIniDir "C:/Program Files/php-4.4.1-Win32"
<IfModule mod_dir.c> : DirectoryIndex index.html index.phpphp4ts.dll dans le mm repertoire que php4apache.dll càd php/sapi/ (ou dans %SYSTEMROOT% ou dans apache/)
Il est nécessaire de vérifier les options suivantes dans le fichier de conf de php (souvent /etc/php.ini) ; celles-ci sont par défaut sous NetBSD :
file_uploads = On pour autoriser l'envoi de fichiersupload_tmp_dir = /tmp définit le répertoire temporaire accueillant les fichiers uploadésupload_max_filesize = 2M définit la taille maximale autorisée pour les fichierspost_max_size = 8M taille maximum des données d'un formulaire<form name="formTest" method="post" action="<?echo $_SERVER["PHP_SELF"];?>" enctype="multipart/form-data"> <input type="hidden" name=MAX_FILE_SIZE value="2048" /> <input type="file" name="fichier" /> <input type="submit" value="envoyer" /> </form>
Le champ MAX_FILE_SIZE permet de limiter la taille du fichier.
On utilise la variable superglobale $_FILES
<pre><? print_r($_FILES); ?></pre>
qui affiche le contenu du tableau :
Array
(
[fichier] => Array
(
[name] => toto.txt
[type] => text/plain
[tmp_name] => /tmp/php00104b
[error] => 0
[size] => 38
)
)
Du coup, on peut tester le code d'erreur de l'envoi :
0 (ou UPLOAD_ERR_OK) : pas d'erreur1 (UPLOAD_ERR_INI_SIZE) : le fichier dépasse la limite autorisée dans le php.ini2 (UPLOAD_ERR_FORM_SIZE) : le fichier dépasse la limite fixée dans le formulaire HTML3 (UPLOAD_ERR_PARTIAL) : upload interrompu4 (UPLOAD_ERR_NO_FILE) : fichier de taille nulle
On peut changer le répertoire du fichier uploadé grâce à la fonction move_uploaded_file(SRC, DEST).
php.ini et modifier :output_buffering = 4096