<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/features.file-upload.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'features.file-upload.common-pitfalls.php',
    1 => 'Erreurs classiques',
    2 => 'Erreurs classiques',
  ),
  'up' => 
  array (
    0 => 'features.file-upload.php',
    1 => 'Gestion des chargements de fichiers',
  ),
  'prev' => 
  array (
    0 => 'features.file-upload.errors.php',
    1 => 'Explication sur les messages d\'erreurs de chargement de fichiers',
  ),
  'next' => 
  array (
    0 => 'features.file-upload.multiple.php',
    1 => 'T&eacute;l&eacute;charger plusieurs fichiers simultan&eacute;ment',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'features/file-upload.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="features.file-upload.common-pitfalls" class="sect1">
  <h2 class="title">Erreurs classiques</h2>
  <p class="simpara">
   La variable <code class="literal">MAX_FILE_SIZE</code> ne peut pas spécifier une taille
   de fichier plus grande que la taille qui a été
   fixée par <a href="ini.core.php#ini.upload-max-filesize" class="link">upload_max_filesize</a>,
   dans le <var class="filename">php.ini</var>. La valeur par défaut est 2 mégaoctets.
  </p>
  <p class="simpara">
   Si une limite de mémoire est activée, une plus grande valeur de
   <a href="ini.core.php#ini.memory-limit" class="link">memory_limit</a> peut être nécessaire.
   Il faut s&#039;assurer d&#039;avoir défini une valeur pour
   <a href="ini.core.php#ini.memory-limit" class="link">memory_limit</a> assez grande.
  </p>
  <p class="simpara">
   Si la valeur de
   <a href="info.configuration.php#ini.max-execution-time" class="link">max_execution_time</a> est trop
   petite, le temps d&#039;exécution du script peut excéder cette valeur.
   Il faut s&#039;assurer d&#039;avoir défini une valeur pour
   <code class="literal">max_execution_time</code> assez grande.
  </p>
  <blockquote class="note"><p><strong class="note">Note</strong>: 
   <span class="simpara">
    <a href="info.configuration.php#ini.max-execution-time" class="link">max_execution_time</a> affecte
    uniquement le temps d&#039;exécution du script. Le temps passé sur l&#039;activité
    qui apparaît en dehors de l&#039;exécution du script comme les appels systèmes
    avec la fonction <span class="function"><a href="function.system.php" class="function">system()</a></span>, la fonction
    <span class="function"><a href="function.sleep.php" class="function">sleep()</a></span>, les requêtes sur les bases de données, le temps
    mis pour effectuer le téléchargement du fichier, etc. n&#039;est pas inclus lors
    du calcul du temps maximal de l&#039;exécution du script.
   </span>
  </p></blockquote>
  <div class="warning"><strong class="warning">Avertissement</strong>
   <p class="simpara">
    <a href="info.configuration.php#ini.max-input-time" class="link">max_input_time</a> définit le temps
    maximal, en secondes, au script pour recevoir les données ; cela inclut le
    téléchargement du fichier. Pour les fichiers multiples, ou les gros
    fichiers, ou encore pour les utilisateurs sur des connexions lentes,
    la valeur par défaut de <code class="literal">60</code> secondes peut être dépassée.
   </p>
  </div>
  <p class="simpara">
   Si <a href="ini.core.php#ini.post-max-size" class="link">post_max_size</a> est défini de façon
   trop faible, les gros fichiers ne pourront pas être téléchargés. Il faut s&#039;assurer
   de définir <code class="literal">post_max_size</code> avec une taille suffisante.
  </p>
  <p class="simpara">
   La configuration de
   <a href="ini.core.php#ini.max-file-uploads" class="link">max_file_uploads</a> contrôle le nombre
   maximum de fichiers qui peuvent être envoyés en une requête. Si le nombre de fichiers
   envoyés dépasse cette limite, alors <var class="varname"><a href="reserved.variables.files.php" class="classname">$_FILES</a></var> arrêtera la réception.
   Par exemple, si <a href="ini.core.php#ini.max-file-uploads" class="link">max_file_uploads</a> vaut
   <code class="literal">10</code>, alors <var class="varname"><a href="reserved.variables.files.php" class="classname">$_FILES</a></var> ne contiendra jamais plus de
   10 entités.
  </p>
  <p class="simpara">
   Ne pas valider les fichiers manipulés peut donner l&#039;accès
   aux utilisateurs à des fichiers sensibles dans d&#039;autres dossiers !
  </p>
  <p class="simpara">
   Du fait de la grande diversité des styles de listage de dossier, nous ne pouvons garantir que les fichiers
   avec des noms exotiques (par exemple, ceux contenant des espaces) seront
   traités correctement.
  </p>
  <p class="simpara">
   Le développeur ne doit pas mixer les champs <code class="literal">input</code>
   normaux et les champs de téléchargement dans une même variable 
   (en utilisant un nom d&#039;<code class="literal">input</code> comme 
   <code class="literal">foo[]</code>).
  </p>
 </div><?php manual_footer($setup); ?>