ID youtube dans une variable PHP à partir de l’URL et sans regex

Vous avez peut-etre realisé comme youtube est bien fait et puissant, à partir de l’ID vous pouvez obtenir code embed et image thumbnail. En cherchant sur internet vous trouverez des tonnes de regex complexes mais vous pouvez avoir cet ID sans regex avec une simple fonction PHP.

Exemple: http://www.youtube.com/watch?v=oPM4Ui6Sjfk

Pour obtenir l’ID et ainsi l’image assiciée (http://img.youtube.com/vi/oPM4Ui6Sjfk/0.jpg) il suffit d’utiliser 2 functions PHP simples et connues: parse_url et parse_str. Si vous ne les connaissez pas, allez voir la doc, elles sont très utiles!

1
2
3
4
5
6
7
8
9
10
11
function get_youtube_id_from_url($url) {
 
	$url_string = parse_url($url, PHP_URL_QUERY);
	parse_str($url_string, $args);
 
	if(isset($args['v'])){
		return $args['v'];
	} else {
		return false;
	}	
}

Sauvegarder votre base de données MySQL dans un fichier .sql: dumpMySQL()

Voici une fonction PHP qui sauvegarde votre base de données. Imaginez la puissance de cette fonction et le temps gagné.

Lorsque vous l’exécutez, elle créé un fichier .sql et sauvegarde toute votre base, un peu comme la fonction « exporter » de phpmyadmin.

J’aimerais pouvoir linker le site sur lequel j’ai trouvé cette fonction mais je ne le retrouve plus! Je l’utilise personnellement depuis plusieurs mois.

dumpMySQL(): exporter votre base de données complète

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
//Cree un ficher .sql pour sauvegarder la base
function dumpMySQL($serveur, $login, $password, $base, $mode)
{
    $connexion = mysql_connect($serveur, $login, $password);
    mysql_select_db($base, $connexion);
 
    $entete = "-- ----------------------\n";
    $entete .= "-- dump de la base ".$base." au ".date("d-M-Y")."\n";
    $entete .= "-- ----------------------\n\n\n";
    $creations = "";
    $insertions = "\n\n";
 
    $listeTables = mysql_query("show tables", $connexion);
    while($table = mysql_fetch_array($listeTables))
    {
        // si l'utilisateur a demandé la structure ou la totale
        if($mode == 1 || $mode == 3)
        {
            $creations .= "-- -----------------------------\n";
            $creations .= "-- creation de la table ".$table[0]."\n";
            $creations .= "-- -----------------------------\n";
            $listeCreationsTables = mysql_query("show create table ".$table[0], $connexion);
            while($creationTable = mysql_fetch_array($listeCreationsTables))
            {
              $creations .= $creationTable[1].";\n\n";
            }
        }
        // si l'utilisateur a demandé les données ou la totale
        if($mode > 1)
        {
            $donnees = mysql_query("SELECT * FROM ".$table[0]);
            $insertions .= "-- -----------------------------\n";
            $insertions .= "-- insertions dans la table ".$table[0]."\n";
            $insertions .= "-- -----------------------------\n";
            while($nuplet = mysql_fetch_array($donnees))
            {
                $insertions .= "INSERT INTO ".$table[0]." VALUES(";
                for($i=0; $i < mysql_num_fields($donnees); $i++)
                {
                  if($i != 0)
                     $insertions .=  ", ";
                  if(mysql_field_type($donnees, $i) == "string" || mysql_field_type($donnees, $i) == "blob")
                     $insertions .=  "'";
                  $insertions .= addslashes($nuplet[$i]);
                  if(mysql_field_type($donnees, $i) == "string" || mysql_field_type($donnees, $i) == "blob")
                    $insertions .=  "'";
                }
                $insertions .=  ");\n";
            }
            $insertions .= "\n";
        }
    }
 
    mysql_close($connexion);
 
 	$name = "backup/sauv-$base-".date("Y-M-d").".sql";
 
    $fichierDump = fopen($name, "wb");
    fwrite($fichierDump, $entete);
    fwrite($fichierDump, $creations);
    fwrite($fichierDump, $insertions);
    fclose($fichierDump);
}

Comparer 2 dates en PHP simplement et rapidement

La comparation de date en PHP peut vite devenir ennuyante. Voici une solution simple qui prend 2 dates et les compare. Pour l’exemple on compare une date codé en dur avec la date du jour générée par la fonction php date(). On considère qu’on utilise cette fonction pour comparer à une date d’expiration.

$now = date(’Y-m-d’); $expire =2012-01-01;
 
$now = date(’Y-m-d’);
$expire =2012-01-01;
 
// format the 2 dates using DateTime
$now = new DateTime( $now );
$now = $now-&gt;format(’Ymd’);
$expire = new DateTime( $expire );
$expire = $expire-&gt;format(’Ymd’);

Ensuite vous pouvez comparer les deux dates en utilisant simplement les opérateurs communs.

if($now > $expire) echo "Les données n'ont pas expiré";