ldglab

PHP in generale

Redirect in base alla lingua del browser con php

26/01/2012, 13:46:13 - autore: ldglab - commenti: 0
function get_languages()
{
//default
$languages = 'it';

if (isset($_SERVER["HTTP_ACCEPT_LANGUAGE"]))
{
$languages = strtolower(strip_tags(addslashes($_SERVER["HTTP_ACCEPT_LANGUAGE"])));
$languages = str_replace( ' ', '', $languages );
$languages = explode( ',', $languages );
$languages[1] = substr($languages[1], 0, 2);
}

if(is_array($languages))
{
return $languages[1];
}
else
{
return $languages;
}
}

function redirectlang(){
// redirect pagina
// modificare con struttura url della propria pagina
header('Location: http://nomedominio.com/'.get_languages().'/index.php');
}

redirectlang();

Verificare ultima modifica di file in un cartella

18/01/2012, 11:24:19 - autore: ldglab - commenti: 0
Ho creato un semplice script php che mi è stato molto utile per verificare file un pò datati...

Immaginiamo ad esempio di lavorare su alcuni file del nostro sito, utilizzando questo semplice script possiamo verificare file modificati non di recente per poterli
ricontrollare e se necessario migliorare.

Si accettano commenti per migliorarne il codice o per segnalare eventuali errori.

Codice PHP Commentato


<?php

// nome della cartella contenente i file da verificare
$directory = 'test/';

// giusto per
$m='??';

// scan cartelle
$files = scandir($directory);

// giorno formato numerico
$num_oggi = date("d");

// unset elementi inutili ., ..
unset($files[0], $files[1]);

foreach($files as $key => $value){

// nome file tipo: nomedirectory/file.txt
$value = $directory.$value;

// numero di girorni trascorsi dall'ultimo aggiornamento
$giorno_file = $num_oggi-date("d", @filemtime($value));

// date e ora ultima modifica del file
$date_file = date ("d m Y H:i:s.", @filemtime($value));

// se l'anno è maggiore dell'anno di modifica del file segnalo come da aggiornare in rosso lampeggiante
if(date("Y") > date("Y", filemtime($value))){
$m = '<blink><span style="padding: 4px; background: red; color: #fff">1 anno o più dall'ultimo aggiornamento</span></blink>';
} else {
// se il numero di giorni dall'ultimo aggiornamento è = a 0 segnalo come aggiornato in verde
if($giorno_file != 0){
// se il file risulta essere più vecchio di un mese segnalo come da aggiornare in rosso
if(date("m") > date("m", filemtime($value))){
$m = '<span style="padding: 4px; background: #880000; color: #fff">1 mese o più dall'ultimo aggiornamento</span>';
} else {
// segnalo il numero di giorni trascorsi dall'ultimo aggiornamento del file in arancione
if($num_oggi > $giorno_file){
$m = '<span style="padding: 4px; background: orange; color: #fff">aggiornato '.$giorno_file.' giorni fa</span>';
}
}
} else {
$m = $m='<span style="padding: 4px; background: green; color: #fff">aggiornato oggi</span>';;
}
}

// elimino il file Thumbs.db dalla lista
if(strtolower($value)==strtolower($directory."thumbs.db") || $files[$key]==''){
unset($files[$key], $value);
}

// se il file non è scrivibile mostro errore
if (!is_writable($value)) {
$m = '<span style="padding: 4px; background: #ddd; color: #333">non riesco a determinare la data di modifica del file</span>';
$date_file = '<b>error</b>';
}

// elimino il nome della directory dal nome del file
$value = str_replace($directory, '', $value);

// stampo i risultati
echo "<div style="margin: 5px; padding: 5px; border:1px solid #ccc;"><h2>$value</h2> <small>ultima modifica: ".$date_file."</small> | $m</div>";
}

?>
Il blog ha 0 post, 0 commenti, 0 discussioni nel forum, 0 messaggi nel forum, 0 utenti seguono il blog
Utenti online 1 - visitatori 1 - utenti collegati 0

Lista utenti collegati: