- Home
- Categorie
- Coding e Sistemistica
- Coding
- 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