[Programmazione] PHP + GD + text parsing Clicca QUI per vedere il messaggio nel forum |
fozzy |
gia il titolo fa paura... :D
sto cercando di creare a runtime delle immagini contenenti del testo (banalmente online/offline anche se in realtà mi serve più complessa)
Ho un file di testo nel quale cercare l'esistenza di una determinata stringa e se questa esiste vorrei avere in un array tutta la riga (csv) per poter usare poi i dati contenuti..
Non ho trovato funzioni utili gia esistenti per farlo nel manuale php ma non riesco ad immaginarmi non ci siano..
In quale sezione li dovevo cercare :D
Grazie |
unidavide |
Mi sa che non ci sono funzioni specifiche per il csv cmq non basta una cosa del genere?
PHP:
$file = fopen ("temp.csv", "r");
$riga = 0;
while (strlen($data = fgets($file, 1024)) !=0 ){
$findme = 'stringadatrovare';
$pos = strpos($data, $findme);
if ($pos === false) {
// non trovata in questa riga
} else {
// trovata la stringa
$riga = explode(',', $data);
}
}
if($riga){
echo "trovata";
}
fclose($file);
|
Ryudo |
Originally posted by fozzy
Non ho trovato funzioni utili gia esistenti per farlo nel manuale php ma non riesco ad immaginarmi non ci siano..
fgetcsv legge una riga da un puntatore a file e ritorna un array con i campi cvs |
fozzy |
grazie ad entrambi!
Ho scoperto poi che i campi sono separati da ":"
Sto utilizzando con successo il primo metodo.
Ciao |
AlphaGamma |
Ma che cosa sono i campi cvs? |
unidavide |
Originally posted by AlphaGamma
Ma che cosa sono i campi cvs?
si chiamano csv non cvs comunque sono "comma separated value".
E' un metodo per memorizzare dei dati (es. una tabella di un db) su un file di testo |
AlphaGamma |
Ah, quella cosa che si usa sempre quando non hai il database a disposizione? Stavo associando cvs a sourceforge... :D |
unidavide |
Originally posted by AlphaGamma
Ah, quella cosa che si usa sempre quando non hai il database a disposizione?
Penso di si, oppure quando devi spostare dei dati da due db e non hai altri mezzi |
fozzy |
nel post iniziale è scritto correttamente csv... :D
cmq in questo caso sono dei dump in file txt...
ora mi si pone un altro problema.. ho fatto dei test con dei file offline e fin qui tutto bene.. ma se provo ad usare dei file online con lycos sono inchiodato in quanto il php di lycos ha la direttiva allow_url_fopen messa ad off..
qualcuno conosce un servizio di hosting PHP su linux (quindi con GD) che permetta l'apertura di urls come files?
Grazie ancora. |
AlphaGamma |
Prova free.fr come hosting gratuito.
Ma il mio consiglio e' comprare un hosting quando fai qualche cosa di piu' serio di un phpnuke... ;) |
fozzy |
il punto è che non è una cosa particolarmente seria e non è a pagamento... :D
però non ho verificato i server web dell'ufficio.. magari ce la faccio lì.. :) |
fozzy |
ho risolto in parte i probleminel senso che ora posso aprire i file remoti ma ho ancora cerrti altri problemi...
posso fare il parsing dei fiel in locale (vedi sopra) non voelndo sovracccaricare il server che tiene il file da cui traggo le informazioni vorrei scriverlo in locale se sono passati meno di 5 minuti dall'ultima lettura del file remoto.
leggo l'ora di modifica del file locale prendo l'ora attuale se la diferenza è meno di 300 scarico di nuovo il file remoto.
mi funiona correttamente la funzione file("URL") ma non riesco a fare in modo che un eventuale $data=file("URL"); si tenga i CR+LF che ci sono nel testo originale... se uso implode che codice gli devo dare?
Grazie ancora :) |
|
|
|