Aller au contenu

Faire tourner une image en fonction des jours


Sujets conseillés

Posté

Bonjour

Je souhaite mettre sur ma page d'accueil une image qui change tous les jours (à minuit par exemple)

PS: une image, ou bien une vidéo, ou encore un petit texte

Est-ce que c'est possible en PHP? Si oui, comment faut-il faire? Existe-t-il un script tout fait (parce que je n'en trouve pas)?

Je vous remercie beaucoup :cool:

Posté

Salut ;)

une méthode consisterait a poser 31 images nommées 1.jpg ... 31.jpg dans un dossier de ton site...

puis dans ta page php

<?php
echo '<img src="dossier/'.date("j").'.jpg" alt="" title="" />';
?>

Le 1er de chaque mois, c'est l'image 1.jpg qui est affichée, le 2, c'est la 2.jpg... et ainsi de suite ;)

Il y a plusieurs méthodes, c'en est une...

b0b0

Posté

salut,

la librairie graphique contient l'instruction adéquate:

$source = imagecreatefromjpeg($filename);
// Rotate
$rotate = imagerotate($source, $degrees, 0);

Tu peux te reposer la-dessus

Posté

Quand il parle de faire tourner une image, c'est dans la définition afficher une image différente par jour et non effectuer une rotation autours d'un axe !

la méthode de b0b0 a le mérite de ne pas consommer trop de ressource, ce qui est fort pratique pour le serveur.

Sinon, pour moi, le grand classique c'est de définir dans une base de donnée (ou fichier texte/XML/...) chaque image pour chaque jour. Et d'effectuer sur la page publique une requête qui récupère la bonne image, selon la date.

Posté (modifié)

Bonjour, et encore 1000 fois merci pour vos réponses

J'ai lu vos conseils, je suis avec un ami qui connait assez bien le PHP (même lui galere :P ), et on a fait un essai:

J'ai stocké quelques vidéos dans ma base de données PHPMyAdmin

Puis, dans ma page index, à l'endroit où je veux inserer ma vidéo, j'ai écrit ceci (j'ai pris comme exemple des vidéos de ma création que j'ai mises sur Dailymotion)

En fait, je voudrais que chaque jour, une nouvelle vidéo apparaisse sur ma page d'accueil en lieu et place d'une autre (j'en ai une cinquantaine à faire tourner). Peu importe que ce soit une vidéo, une image ou un texte, en fait je veux que quelque chose change sur ma page d'accueil tous les jours: j'ai pas mal de fichiers que je voudrais que mes visiteurs voient dès ma page d'accueil

Voila ce que ça donne au niveau du code:

<?php
/* info de la base */
$host = "localhost";
$login = "root";
$pass = "";

$id_video = 1;
$debut = 1;
$fin = 24;
$jour = date("Y-m-d", mktime());
$heure = date("G", mktime());

$connect = mysql_connect($host, $login, $pass)
or die("Impossible de se connecter : " . mysql_error());

// nombre de video
$total_video = 0;
$action = "SELECT * FROM `video`";
$result = mysql_db_query($nombase, $action);
while ($row = mysql_fetch_object($result)) {
$total_video++;
}

// numéro vidéo
$action = "SELECT * FROM `num_video` WHERE `num` = 1";
$result = mysql_db_query($nombase, $action);
$row = mysql_fetch_object($result);
$id_video = $row->id_video;
$date = $row->jour;

// changement
if ($heure > $debut && $heure < $fin && $date != $jour) {
if ($id_video < $total_video) { $id_video++; } else { $id_video = 1; }
$action = "UPDATE `num_video` SET `id_video` = '".$id_video."', `jour` = '".$jour."' WHERE `num` =1 LIMIT 1;";
$ok = mysql_db_query($nombase, $action);
}

// donnée vidéo
$action = "SELECT * FROM `video` WHERE `num` = ".$id_video;
$result = mysql_db_query($nombase, $action);
$row = mysql_fetch_object($result);
$adresse = $row->adresse;
$x = $row->width;
$y = $row->height;


mysql_close($connect);

echo "
<div align='center'><br /><object width='".$x."' height='".$y."'><br />
<param name='movie' value='".$adresse."'>
</param><param name='allowFullScreen' value='true'></param>
<param name='allowscriptaccess' value='always'></param>
<embed src='".$adresse."' type='application/x-shockwave-flash' allowscriptaccess='always' allowfullscreen='true' width='".$x."' height='".$y."'></embed></object>
</div>";
?>

Maintenant nous avons 2 tables:

-une table num_video avec 3 champs (num, id_video et jour)

-une table video avec 4 champs (num, adresse, widht et height)

Problème: mon ami spécialiste du PHP me soutient qu'on est obligés de définir un laps de temps (ce qu'on a fait, dans le code, de 1.00 à 24.00, on a visé large :blush: ) pendant lequel au moins un visiteur doit visiter ma page pour que la vidéo change

A son avis, il est impossible de définir une heure (par exemple 23.00) qui fasse passer de la vidéo N°1 à la vidéo N°2 le 1er jour, puis de la vidéo N°2 à la N°3 le 2e jour, etc, etc...... Il part du principe que s'il n'y a personne à 23.00 sur mon site, le changement ne se fera pas :?

Il m'étonne sur ce coup. Qu'en pensez-vous?

Modifié par nicolas.2los
Posté

C'est tout simple avec une réécriture d'URL ... :whistling:

Par exemple en se basant sur l'exemple donné sur le site d'Apache :

RewriteEngine on
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900
RewriteRule ^foo\.html$ foo.day.html
RewriteRule ^foo\.html$ foo.night.html

Dans cet exemple on change selon l'heure entre un fichier pour le jour et un autre pour la nuit.

Mais il y a bien d 'autres variables sur lesquelles tu peux jouer :

TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME

Posté
C'est tout simple avec une réécriture d'URL ... :whistling:

Par exemple en se basant sur l'exemple donné sur le site d'Apache :

RewriteEngine on
RewriteCond %{TIME_HOUR}%{TIME_MIN} >0700
RewriteCond %{TIME_HOUR}%{TIME_MIN} <1900
RewriteRule ^foo\.html$ foo.day.html
RewriteRule ^foo\.html$ foo.night.html

Dans cet exemple on change selon l'heure entre un fichier pour le jour et un autre pour la nuit.

Mais il y a bien d 'autres variables sur lesquelles tu peux jouer :

TIME_YEAR
TIME_MON
TIME_DAY
TIME_HOUR
TIME_MIN
TIME_SEC
TIME_WDAY
TIME

Merci Dan, mais je ne comprends pas grand chose (en plus, mon ami vient de partir)

-ton premier code est à mettre dans le .htaccess?

Quant au 2e, de quoi s'agit-il? De champs d'une table?

Comment j'agence le tout?

Je suis p a u m é :(

Posté

C'est très simple:

Tu fais deux fichiers: foo.day.html qui contient la page qui doit s'afficher à 7h00 jusqu'à 18h59 et foo.night.html qui elle s'affiche de 19h00- 6h59 je suppose. Ensuite, selon l'heure, foo.day/night.html sera réécrit en foo.html!

La deuxième partie de code donnée par Dan c'est c'est d'autres variables du même type que TIME_HOUR et TIME_MIN utilisés dans le premier code.

Le premier code est effectivement à mettre dans le .htaccess!

Posté

Intéressante cette méthode du htaccess!

Merci Dan!

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...