PDA

Visualizza la versione completa : State studiando!?!?


WebdoM
14-05-2002, 22:37
Come mai nessun problema oggi??? :)
Mi sorge il dubbio che non stiate studiando abbastanza!!

rossella
14-05-2002, 22:53
allora te ne porgo subito uno io ;)

Ho scritto questo codice copiandolo dal testo:

<?PHP
$testo='Antongianni';
if ((preg_match("/i.n/",$testo,$array))
{
print $array[0]; //stampa ian
}
?>

ma nell'esecuzione mi dice questo:

Parse error: parse error, unexpected '{' on line 4

Perché??
:confused:

WebdoM
15-05-2002, 00:09
Messaggio originale di rossella:
<STRONG>allora te ne porgo subito uno io ;)

Ho scritto questo codice copiandolo dal testo:

&lt;?PHP
$testo='Antongianni';
if ((preg_match("/i.n/",$testo,$array))
{
print $array[0]; //stampa ian
}
?&gt;

ma nell'esecuzione mi dice questo:

Parse error: parse error, unexpected '{' on line 4

</STRONG>
Sigh! Il solito difetto__parlo troppo :)

Cmq, Rossella, sei sicura di aver copiato pari pari?
;)
Io vedo una parentesi tonda in più. Ricordatevi che, in un'espressione condizionale, il numero di parentesi aperte deve essere uguale al numero di parentesi chiuse. Io vedo 3 parentesi aperte e due chiuse. La prima parentesi aperta è inutile.

Ma hai copiato il codice dall'errata corrige o dalla lezione?
Cmq, in futuro, vi consiglio di non fare copia ed incolla, così beneficerete dei seguenti vantaggi:

1) Memorizzerete facilmente istruzioni, sintassi, costrutti etc.

2) Prenderete familiarità con l'editor che utilizzate.

3) Se ci sono errori nelle lezioni, avrete più probabilità di accorgervene :)

Lo svantaggio è che voi stessi possiate introdurre errori di digitazione, ma questo succede a tutti. Al programmatore professionista e a chi sta scrivendo le sue prime istruzioni nel linguaggio che sta imparando!

Adesso vado a ninna. Oggi ho studiato/lavorato troppo! Ed ho ancora la forza di rispondervi :)

Notte!
:rolleyes:

rossella
15-05-2002, 00:34
Inizio col dire che è vero che ho copiato il codice ma l'ho copiato "trascrivendolo" dal testo non facendo copia incolla (non lo faccio mai perchè sennò non imparo le funzioni) e comunque è vero non mi ero accorta della terza parentesi, ma c'è anche nel testo originale (l'ho copiato esattamente così com'era perchè prima provo sempre dal testo così com'è poi se posso cerco di elaborarlo).

Forse dovevo accorgermene, ma forse un po' di sonno e poca dimestichezza non mi hanno fatto notare che nel testo c'era una parentesi in più, anzi in meno perchè in raltà manca(e non è segnalata come errore, anche se probabilmente è un errore di stampa).

Comunque ora l'ho sistemata.

Insomma quando non sai cosa fare sappi che io sono sempre disponibile a darti del lavoro :p ;) .

WebdoM
15-05-2002, 09:49
Hai ragione Rossella! Eppure ho copiato ed incollato tutti gli esempi in file php, così da provarli e controllare se c'erano errori e quali! Beh, avrò corretto senza accorgermene!

Sorry :)

f_cavallo
15-05-2002, 12:01
Ciao!

Io sto studiando ancora le lezioni e provando un pò di roba!
Non preoccuparti che appena ho dei dubbi, ti martello!!

Fabio

rossella
15-05-2002, 20:28
Tanto per far lavorare un po' Web che altrimenti si sente solo :p ho due piccoli dubbi.

Il primo riguarda lo script che verifica il file e dà informazioni sulla data di creazione e modifica del file qui di seguito riporto il codice nel mio esercizio:
&lt;?PHP
$file='helloworld.php';
if (file_exists($file)) //verifica l'esistenza del file per poi lavorarci sopra
{
print "La domensione del file è".filesize($file);//stampa la dimensione
}
if(is_readable($file))//controlla se il file ha il permessi di lettura
{
print "$file è leggibile. &lt;br&gt;";
}
if(is_writable($file))//controlla se il file ha i permessi di scrittura
{
print "$file è scrivibile &lt;br&gt;";
}
if(is_executable($file))//controlla se il file ha i permessi di esecuzione
{
print "$file è eseguibile. &lt;br&gt;";
}
$time_creazione=filectime($file);//restituisce la data di creazione
$time_modifica=filemtime($file);//restituisce la data dell'ultima modifica
$data_creazione=date("j/m/Y G:i.s",$time_creazione);
$data_modifica=date("j/m/Y G:i.s",$time_modifica);
print "$file è stato creato il $data_crezione . &lt;br&gt;";
print "l'Ultima modifica è stata apportata il $data_modifica.";
//fine if file exists
?&gt;
quando eseguo mi dà questo:
La domensione del file è31helloworld.php è leggibile.
helloworld.php è scrivibile
helloworld.php è stato creato il .
l'Ultima modifica è stata apportata il 9/05/2002 0:10.54.

Come si vede non compare la data di creazione e non ne capisco il motivo, non so se dipende dal fatto che sia la stessa della data di modifica. E poi dopo la dimensione come faccio a mandarlo a capo senza che i &lt;br&gt; mi diano errore?.

Secondo quesito riguardante la copia del file:

Ho provato l'esempio scrivendolo così com'è tanto da fare esercizio però mi dà un errore nella compilazione cioè:

&lt;?PHP
$source='file_origine.txt';
$destin='file_copia.txt';
$src = @fopen( $source, 'r') or err ("cannot read from $source");
$dest = @fopen( $destin, 'a') or err ("cannot append to $destin");
fputs ($dest, fread($src,filesize ($source)));
fclose($src);
fclose($dest);
?&gt;

questo è il messaggio:
Fatal error: Call to undefined function: err()on line 4

non capisco se dipende dalla compilazione o no.


Spero di non diventare il tuo incubo ;)