[ Toutes les pages - php ]

Bouts de code php Préférences

Pargager sur facebook

Afficher le menu

Nom de répertoire d'un fichier par rapport à la racine

$dir = implode('/' , array_slice(preg_split('`[/\\\\]`' , dirname(__FILE__)) , $niv)) . '/';

$niv étant un nombre négatif indiquant de combien de répertoire moins 1 il faut remonter pour arriver à la racine.

Connaître l'extension d'un nom de fichier

$ext = substr(strrchr($NomFichier, '.'),1);

ou encore

$path_info = pathinfo($filename);
$ext = $path_info['extension'];

Connaître le nom sans extension

$nom = substr($NomFichier , 0 , strpos($NomFichier,'.'));

Générer un nom de fichier unique

function getName($pre="",$suf="") {
  $tmpname = microtime();
  $tmpname = str_replace(array(' ','.'),'',$tmpname);
  return $pre.$tmpname.$suf;
  //EXEMPLES
  //$filename1 = getName("uploads/");
  //$filename2 = getName();
}

Supprimer récursivement un répertoire

 function deltree($dir) {
 	if (is_file($dir)) return false;
 	if (!is_dir($dir)) return true;
 	$current_dir = opendir($dir);
 	while($entryname = readdir($current_dir)) {
 		if (($entryname != '.' and $entryname!='..')) {
 			if (is_dir($dir.'/'.$entryname)) {
 				if (!deltree($dir.'/'.$entryname)) return false;
 			} else {
 				if (!@unlink($dir.'/'.$entryname)) return false;
 			}
 		}
 	}
 	closedir($current_dir);
 	return @rmdir($dir);
 }

Création récursive d'un répertoire

 function mkdirs($dir) {
   if (is_dir($dir)) { return true; }
   $pdir = dirname($dir);
   if (!mkdirs($pdir)) { return false; }
   return mkdir($dir,fileperms($pdir));
 }

Supprimer les espaces et lignes vides inutiles d'un document html

$html = preg_replace("`>[ \t]*\n\s*<`s" , ">\n<" , $html);

Lister toutes les variables déclarées dans un script php

$vars = get_defined_vars();
print_r($vars);

Affichage d'un nombre

Le plus simple est d'utiliser la fonction number_format

Passer une variable php à javascript

Il faut remplacer les quotes simples, doubles et les 4 LineTerminator: Line Feed (\n, U+000A), Carriage Return (\r, U+000D), Line separator (U+2028) et Paragraph separator (U+2029).

<?php
function php2js($str){
	$from = array("\\", "'", '"', "\r", "\n", "\xE2\x80\xA8", "\xE2\x80\xA9");
	$to = array('\\\\', '\\\'', '\"', '\r', '\n', '\u2028', '\u2029');
	return str_replace($from, $to, $str);
}
$str =  "C'est un
exemple";
$str=php2js($str);
?>
<script type ="text/javascript">
	alert('<?= $str ?>');
</script>

Si des balises <script peuvent être présentes dans le texte de la variable passée, il faut les scinder pour que le navigateur ne génère pas d'erreur.

$str = preg_replace("/<script/i", '<scr"+"ipt', $str);
$str = preg_replace("/<\/script/i", '</scr"+"ipt', $str);

Valid XHTML 1.0Strict Valid CSS

AccueilPage précédenteHaut de pagePage suivante