PHP da shell si

Postate qui per tutte le discussioni legate a Linux in generale.

Moderatore: Staff

Regole del forum
1) Citare sempre la versione di Slackware usata, la versione del Kernel e magari anche la versione della libreria coinvolta. Questi dati aiutano le persone che possono rispondere.
2) Per evitare confusione prego inserire in questo forum solo topic che riguardano appunto Gnu/Linux in genere, se l'argomento è specifico alla Slackware usate uno dei forum Slackware o Slackware64.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
lordwizard
Linux 0.x
Linux 0.x
Messaggi: 18
Iscritto il: mer 23 feb 2005, 0:00

PHP da shell si

Messaggio da lordwizard »

Ho provato questo script:

<?php
// ad esempio visualizzerà: somefile.txt was last modified: December 29 2002 22:16:23.

$filename = 'somefile.txt';
if (file_exists($filename)) {
echo "$filename was last modified: " . date ("F d Y H:i:s.", filemtime($filename));
}
?>

se digito da shell php file.php l'output è corretto, se lo leggo da pagina web (server apache) non mi funziona il filemtime (non ritorna niente).

Come mai? Cosa devo impostare apache?
Grazie
Davide

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

Credo (correggetemi se mi sbaglio) che il problema stia nel percorso:
le funzioni legate al filesystem hanno bisogno del percorso completo.
In genere io risolvo così:

Codice: Seleziona tutto

$somefile=getcwd().DIRECTORY_SEPARATOR."somefile.txt";
if(!file_exists($somefile))  etc...
La costante DIRECTORY_SEPARATOR rende lo script cross-platform.
Ciao,
nino

Avatar utente
aschenaz
Staff
Staff
Messaggi: 4623
Iscritto il: mer 28 lug 2004, 0:00
Nome Cognome: Nino
Slackware: current
Kernel: 5.4.x
Desktop: KDE
Località: Reggio Calabria
Contatta:

Messaggio da aschenaz »

ninobi ha scritto:

Codice: Seleziona tutto

$somefile=getcwd().DIRECTORY_SEPARATOR."somefile.txt";
if(!file_exists($somefile))  etc...
...
Nel copia incolla m'è scappata le negazione
E'

Codice: Seleziona tutto

if(file_exists($somefile)) ...
Scusa,
nino

P.S (EDIT) {
Lo so che potevo modificare il mio messaggio precedente, ma non mi compariva il pulsante EDIT (naturalmente perché non ero loggato).
A tale proposito, mi chiedo come mai non funziona il login automatico... o è un problema solo mio?
}

Rispondi