+ Rispondi alla Discussione
Risultati da 1 a 4 di 4

[PHP] Problema con questo piccolo script

Ultimo Messaggio di giangel84 il:
  1. #1
    Utente Premium
    Data Registrazione
    Dec 2010
    Località
    PT
    Messaggi
    175

    [PHP] Problema con questo piccolo script

    Ho un problema con questo script (che non ho fatto io ma mi sono trovato): in poche parole, dovrebbe tirare fuori una frase presa da un file txt e con l'andare dei giorni incrementare di 1 e prendere la frase successiva.

    Lo script è questo:

    Codice PHP:
    <?php   $file "parola_giorno/file.txt";    $contatore 1;   $oggi date("d-m-Y"); //echo $oggi;   $f = fopen($file, "r"); while ( $line = fgets($f, 1000) ) {  //print $line;    $contenuto = $line;        if(ereg("<data>",$contenuto)){           $data = strstr($contenuto, "<data>");     $data = substr($data, 6, 10);     $data = strip_tags($data);      $stampa = strstr($contenuto, "<frase>");     $stampa = trim($stampa);     $stampa = strip_tags($stampa);   $stampa = htmlentities($stampa);         //echo " $contatore - $data - $stampa <br>--------------<br>\n";      $parola[$data] = $stampa;      $contatore++;      }      }    //print_r($parola);      $rand_keys = array_rand($parola, 1);   if(array_key_exists($oggi, $parola)){  echo '<i>'.$parola[$oggi].'</i>';  }else{  $ultimo = array_pop(array_keys($parola));  //echo "+$ultimo+";  echo '<i>'.$parola[$ultimo].'</i>';  }          ?>
    Mentre la sintassi del file txt è la seguente:

    Codice:
    <data>20-10-2012</data><frase>Lo spirito della verità darà testimonianza di me, dice il Signore e anche voi date testimonianza.</frase>
    (non fate troppo caso al contenuto, è il sito di una comunità di suore).

    Praticamente mi viene fuori sempre l'ultima riga del codice invece che prendere quella con la data giusta. Aggiungo inoltre che lo script è inserito nella sidebar di un blog wordpress.

    A voi

  2. #2
    User L'avatar di giangel84
    Data Registrazione
    Nov 2005
    Località
    Camposampiero - Padova
    Messaggi
    46
    Segui giangel84 su Twitter Aggiungi giangel84 su Google+ Aggiungi giangel84 su Facebook Aggiungi giangel84 su Linkedin
    Non è molto chiaro lo scopo preciso dello script.
    Quale output deve restituire esattamente? Trovandosi su una sidebar di wordpress, avrebbe senso se, tecnicamente, lo script dovesse restituire l'output relativo al giorno $oggi.

    "con l'andare dei giorni incrementare di 1 e prendere la frase successiva".

    Scusa ma non è molto chiaro, spero di aver interpretato bene: da quel che ho capito lo script dovrebbe restituire l'output relativo a $oggi oppure l'ultimo elemento riscontrato.

    se è così ecco lo script:

    Codice:
    <?php   
    
    $file = "file.txt";    
    $contatore = 1;   
    $oggi = date("d-m-Y"); 
    //echo "$oggi<br>";   
    $f = fopen($file, "r"); 
    
    	while ( $line = fgets($f, 1000) ) {  
    	//print $line;    
    	$contenuto = $line;        
    		if(preg_match("<data>",$contenuto)){           
    			$data = strstr($contenuto, "<data>");     
    			$data = substr($data, 6, 10);     
    			$data = strip_tags($data);      
    			$stampa = strstr($contenuto, "<frase>");     
    			$stampa = trim($stampa);     
    			$stampa = strip_tags($stampa);   
    			//$stampa = htmlentities($stampa);         
    			
    			//echo " $contatore - $data - $stampa <br>--------------<br>\n";     
    			$parola[$data] = $stampa;      
    			$contatore++;      
    		}     
    	}    
    	//print_r($parola);      
    	$rand_keys = array_rand($parola, 1);   
    	if(array_key_exists($oggi, $parola)){  
    	echo '<i>'.$parola[$oggi].'</i>';  
    	}else{  
    	$ultimo = end($parola);  
    	//echo "+$ultimo+";  
    	echo '<i>'.$ultimo.'</i>';  }          
    ?>

  3. #3
    Utente Premium
    Data Registrazione
    Dec 2010
    Località
    PT
    Messaggi
    175
    Allora, evento che non mi spiego: lo script che non ha funzionato per almeno una settimana buona da quando ho aggiornato il file che conteneva la frase da aggiornare ogni giorno, stamani è funzionante! O__O

    Per rispondere a giangel, loro hanno una sidebar dove visualizzano ogni giorno una frase inerente il periodo, quindi ad esempio avvento, natale, quaresima e via dicendo, e queste frasi vengono estratte di volta in volta da questo file di testo e mostrate nel riquadro sotto all'immagine.

    Ora io non so come mai sia partito, a questo punto meglio così

  4. #4
    User L'avatar di giangel84
    Data Registrazione
    Nov 2005
    Località
    Camposampiero - Padova
    Messaggi
    46
    Segui giangel84 su Twitter Aggiungi giangel84 su Google+ Aggiungi giangel84 su Facebook Aggiungi giangel84 su Linkedin
    meglio così

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.