Salve,
ho richiamato tramite il comando exec l'esecuzione di una funzione matlab,il problema è che oltre a non fornirmi in output i risultati richiesti termina prima.
In pratica ho caricato da php delle immagini in una cartella,poi tramite il comando exec elaboro queste immagini,e poi le cancello dalla cartella tramite php ma inizia a farlo per un'immagine e poi si blocca mentre se non inserisco il codice per eliminare le immagini esegue tutto come dovuto, dove sbaglio!!posto il codice:
codice per eseguire l'elaborazione delle immagini
Codice PHP:
$command = "matlab -r [a,b,c,d]=lettura ";
$valori=exec($command, $out, $status);
echo "<pre>";
echo "out=";
print_r($out);
echo "res=".$res.PHP_EOL;
echo "status=".$status.PHP_EOL;
"</pre>";
volevo sapere come posso farmi restituire i valori di a,b,c,d della funzione matlab?
praticamente mi da in output questo:
out=Array
(
[0] => Array
(
[0] => Sagre in Italia
[1] =>
[2] =>
[3] =>
[4] =>
[5] =>
[6] => la via dei tortelli di zucca
[7] => la via del tartufo
[8] => la via del pesce
[9] => la via dei salami
[10] => fattoria e caccia
[11] => sapori e tradizioni
[12] => santi e patroni
[13] => primi piatti
[14] => rane e lumache
[15] => polenta
[16] =>
[17] =>
[18] =>
)
[1] => Array
(
[0] => src="images/logoSD.jpg" alt="Sagre in Italia" /
[1] => src="images/cycle1.jpg" alt="" class="slide_image"/
[2] => src="images/cycle2.jpg" alt="" class="slide_image" /
[3] => src="images/cycle3.jpg" alt="" class="slide_image" /
[4] => src="images/cycle4.jpg" alt="" class="slide_image" /
[5] => src="images/cycle5.jpg" alt="" class="slide_image" /
[6] => src="images/icon-vie01.jpg" border=0 alt="la via dei tortelli di zucca" class="imgleft" /
[7] => src="images/icon-vie02.jpg" border=0 alt="la via del tartufo" class="imgleft" /
[8] => src="images/icon-vie03.jpg" border=0 alt="la via del pesce" class="imgleft" /
[9] => src="images/icon-vie04.jpg" border=0 alt="la via dei salami" class="imgleft" /
[10] => src="images/icon-vie05.jpg" border=0 alt="fattoria e caccia" class="imgleft" /
[11] => src="images/icon-vie06.jpg" border=0 alt="sapori e tradizioni" class="imgleft" /
[12] => src="images/icon-vie07.jpg" border=0 alt="santi e patroni" class="imgleft" /
[13] => src="images/icon-vie08.jpg" border=0 alt="primi piatti" class="imgleft" /
[14] => src="images/icon-vie09.jpg" border=0 alt="rane e lumache" class="imgleft" /
[15] => src="images/icon-vie10.jpg" border=0 alt="polenta" class="imgleft" /
[16] => src="images/icon-fb.gif" alt="" class="imgsocial" /
[17] => src="images/icon-twit.gif" alt="" class="imgsocial" /
[18] => src="images/logo-bottom.png" alt="" /
)
)
res=
status=0
cioè informazioni sulle immagini.
Funzione per svuotare lla cartella dalle sole immagini
Codice PHP:
function findExt($filename)
{
$exts = array( '.jpg' => 'image',
'.png' => 'image',
'.gif' => 'image',
'.tif' => 'image',
'.bmp' => 'image', );
$ext = strrchr($filename,'.');
if ($exts[$ext])
{
return $exts[$ext];
}
else
{
return "unknown";
}
}
function svuota_cartella($dirpath)
{
if (is_dir($dirpath))
{ //Apro l'oggetto directory
if ($directory_handle = opendir($dirpath))
{ //Scorro l'oggetto fino a quando non è termnato cioè false
while (($file = readdir($directory_handle)) !== false)
{
$a=findExt($file);
$b="image";
if (strcmp($a,$b)=="0")
{
unlink($file);
}
}
closedir($directory_handle);
}
}
}
exec(.........)
......................................
.....................................
%codice che che esegue altre cose
%chiamata alla funzione svuota cartella
svuota_cartella("..\sitoweb");
Ho provato ad eseguire la funzione da sola e funziona mentre con il comando exec termina prima e non riesce a cancellare nulla,potrebbe essere un problema di permessi?come posso apettare il termine dell'esecuzione del comando exec e poi svuotare la cartella?
Grazie.