- Home
- Categorie
- Coding e Sistemistica
- PHP
- Istruzione SWITCH?
-
Istruzione SWITCH?
Salve,
premetto che non so nulla di php e che lo script di seguito non è mio, ma ho bisogno di una mano.**INDEX.PHP
**[php]<?phpdefine('LEGGEND', true);
class Config {
var $password = "password"; // Inserisci tra le virgolette la password per accedere all'amministrazionevar $tempo = "0"; // Dopo quanto tempo intendi cambiare avatar? 0 = ogni refresh
var $cartella = "avatar"; // Nome della cartella da cui verranno presi gli avatarvar $estensioni_ammesse = array(".gif",".png",".jpg",".jpeg"); // Non modificare
}require("function.php");
switch ($_GET["act"]) {
case "admin":
require("admin.php");
break;case "avatar.gif":
$imm_leggend = new CreaImg;
$immagine_corrente = $imm_leggend->ricava_imm();
$ved_leggend = new Vedimmagini($immagine_corrente);
break;default:
echo "<a href='./?act=avatar.gif'>Avatar Random</a> - <a href='index.php?act=admin'>Amministrazione</a>";}
?>[/php]**FUNCTION.PHP
**[php]<?php// ****** FUNZIONI PER LE LIBRERIE GD
class CreaImg extends Config {var $file_avy = "avy.txt";
// ricava l'immagine
function ricava_imm() {
$times = time(); // Numero di secondi
$tempo_cambia_avatar = $times - $this->tempo;
$c = $this->leggi();
if ($c<$tempo_cambia_avatar) { $this->scrivi($times,$this->imgcasuale()); }
$arr = explode('|', $c);
return $arr[1];
}
// legge un file
function leggi() {
$var=@fopen($this->file_avy,'r');
$contenuto= @fread($var,filesize($this->file_avy));
@fclose($var);
return $contenuto;
}
// Scrive un file
function scrivi($tempo,$immagine) {
$var=@fopen($this->file_avy,'w+');
@fwrite($var,"$tempo|$immagine");
@fclose($var);
}// Ricava l'estensione del file
function ricavaEstensioni($image) {
return strtolower(substr($image, strrpos($image, "."), strlen($image)-strrpos($image, ".")));
}// Funzione che ricava una immagine nella cartella prescelta.
function imgcasuale() {$immagini_disponibili = array();
if (is_dir($this->cartella)) {
if ($dh = opendir($this->cartella)) {
while (($file = readdir($dh)) !== false) {
if ($file != "." && $file != ".." && in_array($this->ricavaEstensioni($file),$this->estensioni_ammesse)) {
$immagini_disponibili[] = "$this->cartella/$file";
}
}
closedir($dh);
}
}srand ((double)microtime()*1000000);
$randomnum = rand(0, count($immagini_disponibili)-1);return $immagini_disponibili[$randomnum];
}}
class Vedimmagini extends CreaImg {
function Vedimmagini($image) {
$ext = strtolower($this->ricavaEstensioni($image));
if ($ext == ".png") {
$im = imagecreatefrompng($image);
header("Content-type: image/png");
imagepng($im);
imagedestroy($im);
} elseif ($ext == ".gif") {header("Content-type: image/gif");
$im = imagecreatefromgif($image);
imagegif($im);
imagedestroy($im);
} elseif ($ext == ".jpg" || $ext == ".jpeg") {
header("Content-type: image/jpeg");
$im = imagecreatefromjpeg($image);
imagejpeg($im);
imagedestroy($im);
}else { echo "Il file '<b>$im</b>' non è supportato dalle nostre librerie."; }
}
}[/php]Lo script in se non mi da problemi, fa quello che deve fare (image random), il problema è che l'url dell'immagine finale così come vien fuori non mi serve a nulla. Avrei bisogno che invece di /avatar/?act=avatar.gif l'url finale risultasse /avatar/avatar.gif.
Da quel che sono riuscito a capire (credo nulla :bho:) l'istruzione SWITCH è quella che determina ciò che a me serve.
Spero possiate aiutarmi. Grazie.
-
lo switch non centra nulla, al massimo devi fare usare il mod-rewrite per riscrivere l'indirizzo.
E modificare il linkmostrato alterando l'echo