Buongiorno e buon Anno a tutti!
Da alcuni giorni lo script per generare il file jpg e cancellare le vecchie foto non mi funziona più.
Il cron-job non mi dà errore quindi penso che il problema sia Aruba.
Sapete per cortesia se ci sono segnalazioni di problemi con le versioni di PHP recenti?
Grazie mille per le eventuali risposte.
Ciao a tutti.
Codice PHP:
<?php
header("Refresh: 60; url=" . $_SERVER["PHP_SELF"]);
// prepara l'array per i nomi dei file
$directory = array();
// prepara l'handler per la directory
$handler = opendir('../snap');
// apre la directory e legge i singoli nomi dei file
while ($file = readdir($handler)) {
// se il nome del file contiene il testo iniziale imposto dalla ipcamera lo mette nell'array
if (substr("$file", 0, 8) == "Schedule") {
$directory[] = $file;
}
}
// chiude l'handler
closedir($handler);
// ordina la lista dei file per nome (il piu' nuovo sara' il più recente)
sort($directory);
// conta i file
$fileCount = count($directory);
$fileCount2 = $fileCount - 1;
// copia il file piu' nuovo in webcam.jpg
// $index corrispondera' all'ultimo elemento dell'array (il primo e' 0)
$index = $fileCount - 1; // era -1 modifica 24-07-2014
$fileDaCopiare = $directory[$index];
copy($fileDaCopiare, 'webcam.jpg');
// cancella tutti i file i cui nomi sono nell'array
for($index=0; $index < $fileCount2; $index++) {
$fileDaCancellare = $directory[$index];
unlink($fileDaCancellare);
}
copy('webcam.jpg','../../webcam.jpg');
?>
ciao a tutti da Roberto
Stazione Davis 6163 VP2 Plus
La mia webcam a Nord La mia webcam a Ovest
Nell'interesse generale del Forum, NON RISPONDO privatamente a quesiti di ordine tecnico che invece possono essere dibattuti collettivamente
Grazie per la risposta Orso Polare.
Intendevo dire la versione PHP installata sul sito che attualmente è la 7.4
L'ultima versione la 8.0 non è ancora compatibile con Meteotemplate che è il template che sto usando per la pubblicazione dei dati meteo.
Qualcuno ha qualche altra idea del perché non funzioni più?
Grazie ancora.
![]()
- se esegui lo script 'a mano' ( richiamandolo direttamente dal browser ) viene eseguito correttamente o da errori?
- hai verificato nel log degli errori se c'è qualche informazione utile?
- puoi aggiungere qualche 'echo' di debug ( io ne aggiungerei uno dopo la opendir, una nel ciclo while ed una dopo la definizione di $fileCount )
P.S.
Qual'è l'indirizzo preciso di questo script?
Ciao Davidefa e grazie per la risposta.
Pagina bianca quando apro da browser ma entrando nel log degli errori mi esce questo, ma stavo trafficando con il codice:
rror] [client *********** - www.meteomeano.it - AH01071: Got error 'PHP message: PHP Warning: opendir(/snap): failed to open dir: No such file or directory in /web/htdocs/www.meteomeano.it/home/FI9900P_00**********/snap/webcam_fi_9900p.php on line 7PHP message: PHP Warning: readdir() expects parameter 1 to be resource, bool given in /web/htdocs/www.meteomeano.it/home/FI9900P_00**********/snap/webcam_fi_9900p.php on line 10PHP message: PHP Warning: closedir() expects parameter 1 to be resource, bool given in /web/htdocs/www.meteomeano.it/home/FI9900P_00***********/snap/webcam_fi_9900p.php on line 20PHP message: PHP Warning: copy(): Filename cannot be empty in /web/htdocs/www.meteomeano.it/home/FI9900P_00************/snap/webcam_fi_9900p.php on line 33', referer 404 Not Found
Questo se per cortesia me lo puoi indicare tu, non sono pratico di linguaggio PHP...
404 Not Found
Grazie mille.
![]()
Risposta di Aruba:
"Gentile Cliente
l'unico errore che vediamo è questo [client *************] - www.meteomeano.it - AH01071: Got error 'PHP message: PHP Warning: opendir(/snap): failed to open dir: No such file or directory in /web/htdocs/www.meteomeano.it/home/FI9900P_00********/snap/webcam_fi_9900p.php on line 7PHP message: PHP Warning: readdir() expects parameter 1 to be resource, bool given in /web/htdocs/www.meteomeano.it/home/FI9900P_00********/snap/webcam_fi_9900p.php on line 10PHP message: PHP Warning: closedir() expects parameter 1 to be resource, bool given in /web/htdocs/www.meteomeano.it/home/FI9900P_00********/snap/webcam_fi_9900p.php on line 20PHP message: PHP Warning: copy(): Filename cannot be empty in /web/htdocs/www.meteomeano.it/home/FI9900P_00********/snap/webcam_fi_9900p.php on line 33'
La invitiamo a verificare lo script e la versione php usata. Purtroppo non possiamo fare debug approfondito su script di terze parti.
Restiamo a sua disposizione"
Mi sembra lo stesso che ho postato io.
Grazie.
![]()
Il log dice il primo errore è alla riga 7 ( la directory non esiste, e da li tutti gli altri errori )
il link allo script che hai postato non funziona ( probabilmente lo ha modificato il software del forum )Codice:$handler = opendir('../snap');
anche il log degli errori contiene contiene il riferimento a questa directory 'FI9900P_00**********'Codice:https://www.meteomeano.it/FI9900P_00***********/snap/webcam_fi_9900p.php
Ripostami l'indirizzo dello script includendolo in un blocco CODE o QUOTE ( così non viene modificato )Codice:rror] [client *********** - www.meteomeano.it - AH01071: Got error ' PHP message: PHP Warning: opendir(/snap): failed to open dir: No such file or directory in /web/htdocs/www.meteomeano.it/home/FI9900P_00**********/snap/webcam_fi_9900p.php on line 7 PHP message: PHP Warning: readdir() expects parameter 1 to be resource, bool given in /web/htdocs/www.meteomeano.it/home/FI9900P_00**********/snap/webcam_fi_9900p.php on line 10 PHP message: PHP Warning: closedir() expects parameter 1 to be resource, bool given in /web/htdocs/www.meteomeano.it/home/FI9900P_00***********/snap/webcam_fi_9900p.php on line 20 PHP message: PHP Warning: copy(): Filename cannot be empty in /web/htdocs/www.meteomeano.it/home/FI9900P_00************/snap/webcam_fi_9900p.php on line 33', referer 404 Not Found
Uso quello che ho postato in precedenza, senza la parte delle scritte e delle immagini 24 ore, per queste uso un plugin di Meteotemplate.
Codice PHP:
<?php
header("Refresh: 60; url=" . $_SERVER["PHP_SELF"]);
// prepara l'array per i nomi dei file
$directory = array();
// prepara l'handler per la directory
$handler = opendir('../snap');
// apre la directory e legge i singoli nomi dei file
while ($file = readdir($handler)) {
// se il nome del file contiene il testo iniziale imposto dalla ipcamera lo mette nell'array
if (substr("$file", 0, 8) == "Schedule") {
$directory[] = $file;
}
}
// chiude l'handler
closedir($handler);
// ordina la lista dei file per nome (il piu' nuovo sara' il più recente)
sort($directory);
// conta i file
$fileCount = count($directory);
$fileCount2 = $fileCount - 1;
// copia il file piu' nuovo in webcam.jpg
// $index corrispondera' all'ultimo elemento dell'array (il primo e' 0)
$index = $fileCount - 1; // era -1 modifica 24-07-2014
$fileDaCopiare = $directory[$index];
copy($fileDaCopiare, 'webcam.jpg');
// cancella tutti i file i cui nomi sono nell'array
for($index=0; $index < $fileCount2; $index++) {
$fileDaCancellare = $directory[$index];
unlink($fileDaCancellare);
}
copy('webcam.jpg','../../webcam.jpg');
?>
Grazie.
Segnalibri