langage interprété programmation web internet
Dans httpd.conf
:
DocumentRoot
et ses règles <Directory “D:/htdocs”>
CustomLog D:/pteu.ath.cx.log combined
c:\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.php
php4ts.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.ini
2
(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