WebSite X5Help Center

 
Michele M.
Michele M.
User

Aiuto per codice php  it

Autor: Michele M.
Besucht 286, Followers 2, Geteilt 0  

Con l'aiuto dell'IA ho inserito nel sito al quale sto lavorando un codice PHP che estrapola ogni giorno una frase da un file .CSV, sulla base della data odierna.

<?php
// Percorso locale del CSV (server di test)
$csv_locale = __DIR__ . "/VDGtesto/CDB_pensiero_vangelo.CSV";

// URL pubblico del CSV (server ufficiale)
$csv_remoto = "https://homilyvoice.it/public/VDGtesto/CDB_pensiero_vangelo.CSV";

// Data di oggi per cercare nel CSV (formato Y-m-d)
$oggi = date("Y-m-d");

// Legge il CSV locale se esiste, altrimenti legge il CSV remoto
if (file_exists($csv_locale)) {
$righe = file($csv_locale);
} else {
$righe = @file($csv_remoto);
if ($righe === false) {
echo "<div class='pensiero errore'>Impossibile leggere il file CSV né localmente né dall'URL.</div>";
exit;
}
}

$trovato = false; // flag per verificare se la data viene trovata

// Scorre le righe per trovare la data di oggi
foreach ($righe as $riga) {
$data = str_getcsv($riga, ";");
$prima_colonna = trim(str_replace("\xEF\xBB\xBF", '', $data[0])); // rimuove BOM se presente

if ($prima_colonna == $oggi) {
if (isset($data[5])) {
$testo = htmlspecialchars($data[5]);
echo "<div class='pensiero'>{$testo}</div>";
} else {
echo "<div class='pensiero errore'>Colonna indice 5 non esistente per la data {$oggi}.</div>";
}
$trovato = true;
break;
}
}

// Se non trovata alcuna riga corrispondente
if (!$trovato) {
$oggi_formattata = date("d/m/Y"); // formato leggibile per il messaggio
echo "<div class='pensiero errore'>Pensiero del giorno non disponibile per la data {$oggi_formattata}.</div>";
}
?>

Il codice on line funziona perfettamente, ma purtroppo localmente in anteprima escono parti del codice stesso, invece della frase estrapolata ma, soprattutto, mi sballa il comportamento dell'oggetto HTML sottostante (player audio), alterandone la disposizione grafica.

Tutto ciò avviene solo in anteprima, perché on line funzionano entrambi gli oggetti.

A me pare strano questo comportamento, sarei propenso a pensare che ci sia qualcosa nel codice che vada in conflitto localmente col progetto di WS PRO, ma non ho competenze per suffragare questa ipotesi.

Naturalmente se esistesse un codice funzionante da usare alternativamente a questo e che non mi crei problemi con le anteprime del progetto, ben venga!

Gepostet am
9 ANTWORTEN - 3 NüTZLICH
Giancarlo B.
Giancarlo B.
User
Nutzer des Monats IT

il codice PHP di solito funziona solo online perchè sul server solitamente c'è un ambiente predisposto per lavorare con quel codice, in locale dovresti installare un ambiente di sviluppo adatto. 

Mehr lesen
Gepostet am von Giancarlo B.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator
Michele M.
... ... ... A me pare strano questo comportamento, sarei propenso a pensare che ci sia qualcosa nel codice che vada in conflitto localmente col progetto di WS PRO, ma non ho competenze per suffragare questa ipotesi. Naturalmente se esistesse un codice funzionante da usare alternativamente a questo e che non mi crei problemi con le anteprime del progetto, ben venga!

... c'è un rimedio banale, che ti devi ricordare di ripristinare  quando poi esporti in rete...
1) - primo semplicissimo metodo, usare i commenti HTML "<!-- *** -->";
... quindi prima del tag <?php di apertura metti l'inizio commento <!-- così:
<!--   <?php
... e alla fine dopo il tag ?> di chiusura metti la chiusura del commento --> così:
?>   -->
... ... ...
2) - secondo semplicissimo metodo, usare i commenti per gli SCRIPT "/* xxx */";
... quindi appena dopo il tag <?php di apertura metti l'inizio commento /* così:
<?php    /*    
... e alla fine prima del ltag ?> di chiusura metti la chiusura del commento */ così:
*/    ?>
...
... più semplice del semplice...wink

.
.
ciao
.

Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪
Michele M.
Michele M.
User
Autor
Giancarlo B.
il codice PHP di solito funziona solo online perchè sul server solitamente c'è un ambiente predisposto per lavorare con quel codice, in locale dovresti installare un ambiente di sviluppo adatto. 

Sì, ormai mi è chiaro, ma non vale la pena, considerando che alla fine è solo un problema di anteprima

Mehr lesen
Gepostet am von Michele M.
Michele M.
Michele M.
User
Autor
 ‪ KolAsim ‪ ‪
Michele M. ... ... ... A me pare strano questo comportamento, sarei propenso a pensare che ci sia qualcosa nel codice che vada in conflitto localmente col progetto di WS PRO, ma non ho competenze per suffragare questa ipotesi. Naturalmente se esistesse un codice funzionante da usare alternativamente a questo e che non mi crei problemi con le anteprime del progetto, ben venga! ... c'è un rimedio banale, che ti devi ricordare di ripristinare  quando poi esporti in rete... 1) - primo semplicissimo metodo, usare i commenti HTML "<!-- *** -->"; ... quindi prima del tag <?php di apertura metti l'inizio commento <!-- così: <!--   <?php ... e alla fine dopo il tag ?> di chiusura metti la chiusura del commento --> così: ?>   --> ... ... ... 2) - secondo semplicissimo metodo, usare i commenti per gli SCRIPT "/* xxx */"; ... quindi appena dopo il tag <?php di apertura metti l'inizio commento /* così: <?php    /*     ... e alla fine prima del ltag ?> di chiusura metti la chiusura del commento */ così: */    ?> ... ... più semplice del semplice... . . ciao .

Il metodo dei commenti HTML funziona, quello degli script invece viene ignorato, comunque con questa tecnica ho la possibilità di disattivarlo temporaneamente per far funzionare l'anteprima correttamente; mi va bene così, anche se spero di trovare una soluzione nell'altro topic. Grazie.

Mehr lesen
Gepostet am von Michele M.
Michele M.
Michele M.
User
Autor

@ KolAsim: non c'è nessun altro Topic, ho fatto confusione io sealed

Mehr lesen
Gepostet am von Michele M.
 ‪ KolAsim ‪ ‪
 ‪ KolAsim ‪ ‪
Moderator

Hai ragione, scusa, il commento script agisce prima sul server, cioè non attiva il codice, ma non avevo verificato localmente, ti tornerà utile per altre occasioni... 

Ciao 

Mehr lesen
Gepostet am von  ‪ KolAsim ‪ ‪
Michele M.
Michele M.
User
Autor

Provo ad agganciarmi qui, per fare una semplice domanda su una riga di codice PHP, usata in un altro script:
<?PHP echo 'body,td,th {font-family: Tahoma, Tahoma; font-size: 10pt;}

Se modifico Tahoma in Lato non succede nulla, invece mi accetta font più noti (mi pare di aver provato Arial). Due domande:
1 - come faccio a vedere l'elenco dei font disponibili?
2- c'è modo di importare un font che normalmente non accetta?

Se lo ritenete eccessivamente off-topic ne apro un altro specifico.

Mehr lesen
Gepostet am von Michele M.
Giancarlo B.
Giancarlo B.
User
Nutzer des Monats IT

il browser cerca di usare “Lato”, ma se non è installato localmente sul sistema (Windows, macOS, ecc.) o non è importato via webfont, allora torna al font di fallback (solitamente un generico sans-serif).

Mehr lesen
Gepostet am von Giancarlo B.
Michele M.
Michele M.
User
Autor
Giancarlo B.
il browser cerca di usare “Lato”, ma se non è installato localmente sul sistema (Windows, macOS, ecc.) o non è importato via webfont, allora torna al font di fallback (solitamente un generico sans-serif).

Ho trovato il font sotto forma di file zip, ho decompresso la cartella e ho installato tutte le versioni del font, ora sembra funzionare tutto correttamente. Ne ho imparato un'altra, grazie mille Giancarlo!

Mehr lesen
Gepostet am von Michele M.