Développement Web

Fonction file_exists()

La fonction file_exists permet de tester l’existence d’un fichier local.

Utilisation de la fonction file_exists()

La signature de la fonction file_exists est la suivante :

file_exists ( $fichier );

La fonction retourne true en cas de succès, false en cas d’échec.

   /* Déclaration du chemin et nom du fichier */
   $fichier = 'chemin_du_fichier/fichier.txt';

   if( file_exists ( $fichier))
     ACTION A EFFECTUER

Supprimer un fichier en php – unlink()

Pour supprimer un fichier en php, il existe la fonction unlink().

Utilisation de la fonction unlink()

La signature de la fonction unlink est la suivante :

unlink ( $fichier );

La fonction retourne true en cas de succès, false en cas d’échec.

Si vous êtes sûr que le fichier à supprimer existe bel et bien, vous pouvez appeler directement la fonction unlink avec le nom de fichier (et son chemin) en paramètre.
Il est également possible de tester l’existence de ce fichier à l’aide la fonction file_exists avant de le supprimer.

L’alternative à ce test d’existence est de faire précéder l’appel à la fonction unlink du caractère @. Ainsi, si le fichier à supprimer n’existe pas, aucune erreur ne sera relevée.

   /* Fichier à supprimer */
   $fichier = 'chemin_du_fichier/fichier.txt';

   if( file_exists ( $fichier))
     unlink( $fichier ) ;

   Alternative: 

   @unlink( $fichier ) ;

Fonction extract()

La fonction extract permet de créer et d’initialiser des variables à partir des clés et des valeurs des éléments d’un tableau associatif.

Utilisation de la fonction extract()

La signature de la fonction extract est la suivante :

extract ( $array [, $mode [, $prefixe ]] );

8 modes différents sont disponibles:

  • EXTR_OVERWRITE : Si une variable du même nom existe, son contenu est remplacé (mode par défaut).
  • EXTR_SKIP : Si une variable du même nom existe, celle-ci n’est pas remplacée.
  • EXTR_PREFIX_SAME : Si une variable du même nom existe, une nouvelle variable est créée en utilisant le préfixe $prefixe.
  • EXTR_PREFIX_ALL : Préfixe toutes les nouvelles variables avec le préfixe $prefixe.
  • EXTR_PREFIX_INVALID : Préfixe uniquement les variables invalides ou numériques avec $prefixe.
  • EXTR_IF_EXISTS : Écrase la variable uniquement si elle existe déjà.
  • EXTR_PREFIX_IF_EXISTS : Ne crée que des variables préfixées si la version non préfixée de la même variable existe.
  • EXTR_REFS : Extrait les variables sous forme de références. Cela signifie que les valeurs des variables importées font toujours référence aux valeurs des variables d’origine dans le paramètre $array

Les préfixes sont automatiquement séparés de l’index du tableau par un caractère de soulignement.

La fonction extract retourne le nombre de variables importées avec succès.

   $nom = 'list';

   /* Déclaration du tableau */    

   $array = array(  'langage' => 'php', 'nom' => 'extract', 'date' => '2009'  );

   extract ( $array );
   echo $nom; /* affiche :  extract */    

   extract ( $array, EXTR_SKIP );
   echo $nom; /* affiche :  list */    

   extract ( $array, EXTR_PREFIX_SAME,  'var_' );
   echo $nom; /* affiche :  list */
   echo $var_nom; /* affiche :  ''  */
   echo $var__nom; /* affiche :  extract */    

   extract ( $array, EXTR_PREFIX_SAME,  'var' );
   echo $nom; /* affiche :  list */
   echo $var_nom; /* affiche :  extract */    

   extract ( $array, EXTR_PREFIX_ALL,  'var' );
   echo $nom; /* affiche :  list */
   echo $var_nom; /* affiche :  extract */
   echo $var_langage; /* affiche :  php */    

   echo extract ( $array ); /* affiche :  3 */    

Fonction in_array()

La fonction in_array retourne true si la valeur $valeur est présente dans le tableau $array.

Utilisation de la fonction in_array()

La signature de la fonction in_array est la suivante :

in_array ( $valeur, $array [, $strict ] );

Si le paramètre booléen $strict est renseigné, une comparaison de type sera effectuée.


   /* Déclaration du tableau */    

   $array = array(  'langage' => 'php',  'nom' => 'in_array', 'date' => '2009'  );
   $answer = 'Élément non trouvé';

   if ( in_array ( 'php', $array ))
     $answer = 'Élément trouvé';

   echo $answer;

   /* affiche :  Élément trouvé */    

   if ( in_array ( 2009, $array, true ))
     $answer = 'Élément trouvé';

   echo $answer;

   /* affiche :  Élément non trouvé car comparaison de chaîne et numérique */    

Fonction array_search()

La fonction array_search permet de rechercher une valeur ( $valeur ) dans un tableau et retourne, en cas de succès, l’indice de l’élément trouvé.

Utilisation de la fonction array_search()

La signature de la fonction array_search est la suivante :

array_search ( $valeur, $array [, $strict ] );

Si le paramètre booléen $strict est renseigné, une comparaison de type sera effectuée.


   /* Déclaration du tableau */    

   $array = array(  'langage' => 'php', 'cours' => 'fonction', 'nom' => 'array_search' );
   if ( array_search ( 'php', $array ))
     echo array_search ( 'php', $array );

   /* affiche :  langage */    

   if ( array_search ( 'javascript', $array ))
     echo array_search ( 'javascript', $array );
   else
     echo 'Le terme "javascript" n\'a pas été trouvé dans $array';

   /* affiche :  'Le terme "javascript" n'a pas été trouvé dans $array' */    

Fonction key()

La fonction key retourne l’indice ou la clé de la position courante.

Utilisation de la fonction key()

La signature de la fonction key est la suivante :

key ( $array );


   /* Déclaration du tableau */    

   $array = array(  'langage' => 'php', 'cours' => 'fonction', 'nom' => 'key' );
   echo key ($array);

   /* affiche :  langage */    

   next ($array);

   echo key ($array);

   /* affiche :  cours */    

   while ( $fonction = current( $array )) {
     if ( $fonction == 'key' ) {
       echo key( $array ) . '<br />';
     }
     next( $array );
   }

   /* affiche :  nom */    

Fonction ksort()

La fonction ksort permet de trier d’un tableau par ses clés tout en conservant la relation clé / valeur.

Utilisation de la fonction ksort()

La signature de la fonction ksort est la suivante :

ksort ( $array );


   /* Déclaration du tableau */    

   $array = array(  'langage' => 'php', 'cours' => 'fonction', 'nom' => 'ksort' );
   ksort ($array);

   /* $array contient :
     Array
     (
	 [cours] => fonction
	 [langage] => PHP
	 [nom] => ksort
     )
   */    

La fonction krsort effectue le tri quant à elle en sens inverse :


   /* Déclaration du tableau */    

   $array = array(  'langage' => 'php', 'cours' => 'fonction', 'nom' => 'ksort' );
   krsort ($array);

   /* $array contient :
     Array
     (
	 [nom] => ksort
	 [langage] => PHP
	 [cours] => fonction
     )
   */    

Fonction list()

La fonction list permet en une ligne de lister le contenu d’un tableau en assignant des valeurs à plusieurs variables.

Utilisation de la fonction list()

La signature de la fonction list est la suivante :

list ( );


   /* Déclaration du tableau */    

   $array = array(  'type' => 'fonction', 'langage' => 'PHP', 'la quelle' => 'list' );
   list ($type,$langage) = array_values($array);

   echo $langage;

   /* affiche : PHP  */

Fonction natsort()

La fonction natsort permet d’ordonner un tableau en utilisant l’ordre naturel.

Utilisation de la fonction natsort()

La signature de la fonction natsort est la suivante :

natsort ( $array );


   /* Déclaration du tableau */    

   $array = array( 'img1.png', 'img12.png', 'img21.png', 'img2.png' );
   natsort ($array);

   /* $array contient:
     Array
     (
	 [0] => img1.png
	 [3] => img2.png
	 [1] => img12.png
	 [2] => img21.png
     )
   */

   la fonction natcasesort() est quant à elle insensible à la casse.

Fonction range()

La fonction range permet de remplir un tableau à partir d’un intervalle.

Utilisation de la fonction range()

La signature de la fonction range est la suivante :

range ( $min, $max );

Depuis PHP 4.1.0, il est possible de définir l’intervalle avec des lettres (exemple: de a à z).


   /* Déclaration du tableau */    

   $array = range(1, 10);
   echo $array[4];

   /* Affiche :  5 */

   $array = range(b, g);
   print_r ($array);

   /* $array contient :
     Array
     (
	  [0] => b
	  [1] => c
	  [2] => d
	  [3] => e
	  [4] => f
	  [5] => g
     )
   */