Originariamente inviato da Virus_101
ATTENZIONE :

questa funziona restituisce l'0utput in 2 canali distinti.
Il primo e' classico return il secondo eì la return var
Grazie anche a te per la risposta, è vero che le restituzioni sono 2:
- la prima ($r nel tuo caso) cattura l'output a video, o meglio, l'ultima riga dell'output a video (nel caso specifico con il comando "ls", restituisce come stringa, l'ultima riga del contenuto della directory corrente, dopo avermelo stampato a video tutto)
- la seconda ($rv nel tuo caso) mi dice se l'operazione è andata a buon fine, a differenza del manuale PHP, a me restituisce 0 o 1, il problema è che pur avendo svolto correttamente il suo compito (cioè stampato a video tutto il contenuto della directory) cmq il valore ritornato è 0 (che, fino a prova contraria, è da considerare uguale a false) in quanto attiva un PHP Notice

Originariamente inviato da eiyen
ATTENZIONE :
mah... non dovrebbe essere la stessa cosa perchè $r è il risultato della chiamata, mentre $result_var dell'esecuzione... quindi (ma non ho verificato) se la chiamata fallisce non è documentato cosa contenga $result_var (non c'è scritto infatti nei docs) e non so se possa essere un booleano (interessante da verificare)... inoltre: cosa dovrebbe restituirti la tua chiamata? non è che "0" è il valore corretto restituito?
La chiamata, dato che nel mio caso sto estraendo un file zippato, mi deve saper dire se l'esecuzione è andata a buon fine o meno. A me infatti interessa catturare proprio la seconda variabile e gestirla nel caso di errori di esecuzione.
Il problema rimane nel senso che è la restituzione che la system() mi dà che non è corretta perchè anche nel caso "ls" mi restituisce sempre 0 (come intero tra l'altro) attivando il PHP Notice.