[PHP] Rinominare file sul server ogni tot minuti

syndr0m3

Nuovo Utente
17 Ago 2018
7
0
1
Buongiorno a tutti,
faccio subito una domanda.
Ho la necessità di modificare il nome di un file sul server ogni tot minuti, cerco di spiegarmi meglio.

In una directory sull'hosting ho caricato 6 file nominati cosi:

- uno.mp4
- due.mp4
- tre.mp4
- quattro.mp4
- cinque.mp4
- file.mp4

vorrei che questo script in php rinomini, ogni 30 minuti, uno dei file scambiandolo con il corrispettivo numerico, ad esempio:

dopo 30 minuti i file vengono rinominati cosi:

- file.mp4
- due.mp4
- tre.mp4
- quattro.mp4
- cinque.mp4
- uno.mp4

dopo altri 30 minuti (quindi dopo un'ora dalla prima esecuzione) i file vengono rinominati cosi:

- uno.mp4
- file.mp4
- tre.mp4
- quattro.mp4
- cinque.mp4
- uno.mp4

dopo altri 30 minuti (quindi dopo un'ora e mezza dalla prima esecuzione) i file vengono rinominati cosi:

- uno.mp4
- due.mp4
- file.mp4
- quattro.mp4
- cinque.mp4
- uno.mp4

e cosi via...
 
grazie per la risposta Mr.x
praticamente ho una pagina web che attraverso wordpress e diversi plugin permette di avere un video come background.
per non caricare un video lungo stavo pensando di dividerlo in 5 o 6 parti per fare in modo che il background cambi come scrivevo sopra.

in questo modo la pagina web richiama sempre lo stesso url “http://........file.mp4” ma concretamente lo script, in maniera estemporanea, ha provveduto a cambiare il file.

che ne pensi?
l’ho pensata in questo modo per distaccarmi da un possibile update del plugin.
credo proprio che non ci sarà mai una versione ufficiale che mi permetta lo switch tra video su base temporale o in generale attraverso un richiamo di questa funzione.
 
Non ti sarebbe più comodo aggiornare il link al video?

PHP:
<?php

$objDateTime = new DateTime('NOW');
$orario=$objDateTime->format('H:i');

$orario=strtotime($orario);


switch ($orario) {

case ($orario>=strtotime('10:00') && $orario < strtotime('11:00')):
$video="uno";
break;

case ($orario >= strtotime('11:00') && $orario < strtotime('12:00')):
$video="due";
break;

case ($orario>=strtotime('12:00') && $orario < strtotime('13:00')):
$video="tre";
break;

}

echo $url_video="http://sitoweb/cartellavideo/video".$video.".mp4";

?>

così puoi anche riconoscere ed eventualemnte sostituire un file senza dovere cercare la corrispondenza con il nome in un dato momento.
 
  • Like
Reactions: syndr0m3
Mr.X sei un grande.
Mi pare di capire, leggendo il codice, che gli orari li imposto io:

- tra le 10 e le 11 l'url sarà: http://sitoweb/cartellavideo/uno.mp4
- tra le 11 e le 12 l'url sarà: http://sitoweb/cartellavideo/due.mp4
- tra le 12 e le 13 l'url sarà: http://sitoweb/cartellavideo/tre.mp4

giusto?

Se cosi fossi posso impostare il codice ed i relativi file in modo da coprire tutta la giornata.

Mi rimane da capire come posso richiamare la funzione all'interno del sito che è fatto in wordpress e che prevede un solo riferimento ad un solo file video.

Praticamente nel backend ho la schermata (che carico come allegato qui) dove posso indicare l'URL del singolo file MP4 alla voce "Link to the video in MP4 format"
 

Allegati

  • Schermata 2018-08-18 alle 12.44.23.png
    Schermata 2018-08-18 alle 12.44.23.png
    126,1 KB · Visite: 465
Ciao @syndr0m3
Nn so se nel frattempo hai risolto (data la mia assenza non ti avevo + risposto)
. Cmq il backend salva l url che inserisci da qualche parte nel DB, ti basta fare una query di update ed aggiornare il link al file ad ogni intervallo.
 
Ciao Mr.X,
non ho più risolto alla fine.
Ho capito quello che mi dici, ma non saprei proprio farlo.
 

Discussioni simili