Ho un file chiamato address.php con alcune funzioni al suo interno. Voglio chiamare una funzione specifica in quel file dalla riga di comando, come? Il nome della funzione è chiamato exportAddress e tale funzione si aspetta un singolo parametroChiama una funzione php dalla riga di comando
19
A
risposta
41
Utilizzando il parametro -r
è possibile eseguire uno script in linea.
php -r "require 'address.php'; exportAddress(12345);"
Non ci sono altre opzioni. Una funzione in PHP può essere chiamata solo da uno script PHP.
1
php -r 'include "/var/www/test/address.php";exportAddress(1);'
dove "/var/www/test/arr.php"
è il nome del file incluso il percorso e exportAddress()
è la funzione all'interno del file
3
aggiungere questo alla parte superiore del file "/var/www/test/address.php" ...
foreach ($argv as $i=>$arg)
{
if ($arg == "exportAddress")
{
exportAddress($argv[$i+1]);
}
}
poi dalla riga di comando eseguire #> php /var/www/test/address.php exportAddress 12345
1
è possibile rendere il file "somefile.php" organizzato come segue:
function func1(){....}
function func2(){....}
function func3(){....}
....
foreach ($argv AS $arg){
function_exists($arg) AND call_user_func($arg);
}
Poi da riga di comando o cronjob Linux, si esegue il seguente comando
php /path/to/somefile.php arg1 arg2 arg3 ...
php --run "require 'address.php'; exportAddress (12345); "che è facile da ricordare chiamare dalla CLI – Tarik