Come creare applicazioni web autoaggiornabili con php – parte 2
Posted on 15. Sep, 2008 by Administrator in php, tutorials
Eccoci alla parte 2 del nostro articolo su come creare applicazioni web autoaggiornabili con php.
Se hai perso la parte 1, ecco il link: http://www.sastgroup.com/tutorials/come...autoaggiornabili-con-php
In questo articolo vedremo le funzioni che utilizzeremo nel nostro articolo. Creiamo un file utility.php che le conterrà:
< ? //questa funzione è usata per recuperare il contenuto di un file. // è una alternativa a alla funzione file_get_contents di php5 function get_file_contents($filename) { if (!function_exists('file_get_contents')) { $fhandle = fopen($filename, "r"); $fcontents = fread($fhandle, filesize($filename)); fclose($fhandle); } else { $fcontents = file_get_contents($filename); } return $fcontents; } //copia directory sorgente alla directory destinazione function cp($wf, $wto){ // it moves $wf to $wto if (!file_exists($wto)){//the improvement mkdir($wto,0777) or die ("Could not chmod destination (this is line 21"); } $arr=ls_a($wf); foreach ($arr as $fn){ if($fn){ $fl="$wf/$fn"; $flto="$wto/$fn"; if(is_dir($fl)) cp($fl,$flto); else copy($fl,$flto) or die ("could not copy directory "); } } } function ls_a($wh){ if ($handle = opendir($wh)) { while (false!== ($file = readdir($handle))) { if ($file!= "." && $file!= ".." ) { if(!$files) $files="$file"; else $files="$file\n$files"; } } closedir($handle); } $arr=explode("\n",$files); for($i=0;$i<count($arr);$i++){ echo "<br>$arr[$i]"; } return $arr; } //cancella recursivamente tutti i files e cartelle di una directory function recursive_remove_directory($directory, $empty=FALSE) { if(substr($directory,-1) == '/') { $directory = substr($directory,0,-1); } if(!file_exists($directory) || !is_dir($directory)) { return FALSE; }elseif(is_readable($directory)) { $handle = opendir($directory); while (FALSE !== ($item = readdir($handle))) { if($item != '.' && $item != '..') { $path = $directory.'/'.$item; if(is_dir($path)) { recursive_remove_directory($path); }else{ unlink($path); } } } closedir($handle); if($empty == FALSE) { if(!rmdir($directory)) { return FALSE; } } } return TRUE; } ?>
Nel prossimo articolo il continuo.








Leave a reply