<?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 systèmes, 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); ?>