Thanks but it hasn't worked in my example. It implodes the files in the home directory but not in the home/test directory. Will you look at the code again please:
$version = 0; $dirs = array(); $dirs[0] = dirname($_SERVER['SCRIPT_FILENAME']); $dirs[1] = dirname("http://localhost/gearsTut/manifestTest/test/"); foreach ($dirs as $dir) { $handle = opendir($dir); while (false !== ($file = readdir($handle))) { if (file_exists("$dir/$file")) { $v = filemtime("$dir/$file"); if ($v > $version) { $version = $v; } if ($file<>'..') $files[]=$file; } } } $entries = array(); foreach ($files as $file) { array_push($entries, " {\"url\": \"$file\" , \"ignoreQuery\": true }"); } ?> { "betaManifestVersion": 1, "version": "<?php echo $version ?>", "entries": [ <?php echo implode(",\n", $entries); ?>, {"url": "manifest.php" , "ignoreQuery": true } ] } Thanks for looking into this. TML > -----Original Message----- > From: gears-users@googlegroups.com [mailto:gears-us...@googlegroups.com] > On Behalf Of carise > Sent: Wednesday, January 28, 2009 6:53 PM > To: Gears Users > Subject: [gears-users] Re: manifest.php folders > > > You can specify the directories and use that while loop to add each > file to the entries array. I admit I do not really know much php, but > here's what I'd try... > > $version = 0; > $dirs = array > (); // > 1. create a $dirs array since you will have more than one directory to > look through... > $dirs[0] = dirname($_SERVER['SCRIPT_FILENAME']); > $dirs[1] = dirname("/home/images/."); // > 2. add directories > > foreach ($dirs as $dir) > { // 3. now go through > all the files in all the directories to get the latest version number > based on the files' last modified time > > $handle = opendir($dir); > while (false !== ($file = readdir($handle))) { > if (file_exists("$dir/$file")) { > $v = filemtime("$dir/$file"); > if ($v > $version) { > $version = $v; > } > if ($file<>'..') > $files[]=$file; > } > } > } > > On Jan 28, 8:19 am, TML <t...@toscalahiri.co.uk> wrote: > > Hello, > > > > What would I alter in the following code so that the manifest file > > includes files from folders as well as those in the home directory? > > For example is I have: > > > > home/images or home/images/large > > > > Here is the code (mainly provided by Google and users): > > <?php > > // Copyright 2007, Google Inc. > > // > > // Redistribution and use in source and binary forms, with or > > without // modification, are permitted provided that the following > > conditions are met: > > // > > // 1. Redistributions of source code must retain the above copyright > > notice, > > // this list of conditions and the following disclaimer. > > // 2. Redistributions in binary form must reproduce the above > > copyright notice, > > // this list of conditions and the following disclaimer in the > > documentation > > // and/or other materials provided with the distribution. > > // 3. Neither the name of Google Inc. nor the names of its > > contributors may be > > // used to endorse or promote products derived from this software > > without > > // specific prior written permission. > > // > > // THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS > > OR IMPLIED // WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED > > WARRANTIES OF // MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE > > ARE DISCLAIMED. IN NO // EVENT SHALL THE AUTHOR BE LIABLE FOR ANY > > DIRECT, INDIRECT, INCIDENTAL, // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL > > DAMAGES (INCLUDING, BUT NOT LIMITED TO, // PROCUREMENT OF SUBSTITUTE > > GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; // OR BUSINESS > > INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, // > > WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE > > OR // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, > > EVEN IF // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. > > > > header('Content-type: text/plain'); > > $version = 0; > > $dir = dirname($_SERVER['SCRIPT_FILENAME']); > > $handle = opendir($dir); > > while (false !== ($file = readdir($handle))) { > > if (file_exists("$dir/$file")) { > > $v = filemtime("$dir/$file"); > > if ($v > $version) { > > $version = $v; > > } > > if ($file<>'..') > > $files[]=$file; > > }} > > > > $entries = array(); > > foreach ($files as $file) { > > array_push($entries, " {\"url\": \"$file\" , \"ignoreQuery\": > > true }");} > > > > ?> > > { > > "betaManifestVersion": 1, > > "version": "<?php echo $version ?>", > > "entries": [ > > <?php echo implode(",\n", $entries); ?>, > > {"url": "manifest.php" , "ignoreQuery": true } > > ] > > > > } > > > > Thanks for your help. > > TML