<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Forum posts to 'Archive'</title>
		<link>http://www.silverstripe.org/archive/rss</link>
		<atom:link href="http://www.silverstripe.org/archive/rss" rel="self" type="application/rss+xml" />
		<description></description>

		
		<item>
			<title>Re: get the size of a folder</title>
			<link>http://www.silverstripe.org/archive/show/86027?start=0#post86111</link>
			<description>&lt;p&gt;Hi there,&lt;/p&gt;&lt;p&gt;Thanks for the kind words of using SilverStripe, I hope development has been smooth for you and your team.&lt;/p&gt;&lt;p&gt;Thanks also for showing the function you have created for Folder.php. The typical work flow for a community member wishing to contribute code to the main branch is to submit a patch, using our open source tracker.&lt;/p&gt;&lt;p&gt;You can do that by visiting &lt;a href=&quot;http://open.silverstripe.com/&quot;&gt;http://open.silverstripe.com&lt;/a&gt;, creating an account (if you haven't already), and hitting the &quot;New ticket&quot; button. You'll also want to select &quot;Patch&quot; from the Type dropdown, so we can recognise your ticket as a patch. From then, you'll probably see some comments in the ticket from a core developer if there are any questions about your code, or more information required.&lt;/p&gt;&lt;p&gt;Cheers!&lt;/p&gt;&lt;p&gt;Sean&lt;/p&gt;&lt;br&gt;&lt;br&gt;Posted to: get the size of a folder &lt;a href=&quot;http://www.silverstripe.org/archive/show/86027?start=0#post86111&quot;&gt;Show Thread&lt;/a&gt; | &lt;a href=&quot;http://www.silverstripe.org/archive/reply/86027?start=0#post86111&quot;&gt;Post Reply&lt;/a&gt;</description>
			<pubDate>Sat, 07 Jun 2008 16:49:48 +1200</pubDate>
			<dc:creator>Sean</dc:creator>
			<guid>http://www.silverstripe.org/archive/show/86027?start=0#post86111</guid>
		</item>
		
		<item>
			<title>get the size of a folder</title>
			<link>http://www.silverstripe.org/archive/show/86027#post86027</link>
			<description>&lt;p&gt;I have modify my folder.php in sapphire/filesystem/Folder&lt;br /&gt;to be able to get the size of a folder directly with a folder object, I have ovverrides the function getAbsoluteSize of file &lt;/p&gt;&lt;p&gt;this is called reccursivily ion case of folder inside the folder..&lt;/p&gt;&lt;p&gt;&lt;span style=&quot;color:blue&quot;&gt;&lt;br /&gt;//return the size in octet&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;public function getAbsoluteSize($path='')&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if(empty($path))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$path = Director::baseFolder() . '/' . $this-&amp;gt;getRelativePath();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$h = @opendir($path); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if($h==0)return 0; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sf = 0;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while ($f = readdir($h))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if ( $f!= &quot;..&quot;) &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{ &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$nd = $path .&quot;/&quot;. $f ;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( $f!=&quot;.&quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sf += filesize( $nd );&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if( $f!=&quot;.&quot; &amp;amp;&amp;amp; is_dir($nd))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$nd = $path . $f ;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;$sf+= $this-&amp;gt;getAbsoluteSize( $nd  ); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;} &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;closedir($h); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return $sf ; &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/p&gt;&lt;p&gt;&lt;/span&gt; &lt;/p&gt;&lt;p&gt;For information,  you can do it also with a shell but this requires 751 CHmod on the folder (more access..less security)&lt;/p&gt;&lt;p&gt;&lt;em&gt;&lt;br /&gt;$folder = &quot;home/tea/mail/&quot;;&lt;/p&gt;&lt;p&gt;if($pass === &quot;eggnut&quot;) {&lt;br /&gt;$job = shell_exec(&quot;du -s -k $folder&quot;); //summary&lt;br /&gt;echo &quot;&amp;lt;b&amp;gt;SIZE in KB:&amp;lt;/b&amp;gt; $job&quot;;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;p&gt;I do not like to change my core, for the further versionning.&lt;br /&gt;But I do not need another class folder, and actually $Myfolder-&amp;gt;getAbsoluteSize() exist and does not give the good result.&lt;/p&gt;&lt;p&gt;If a guy of the core dev read this post do you think,; it culd be a good think to integreta this to the further versions.&lt;br /&gt;Thanks.&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Your framework is awesome guys !&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;&lt;em&gt;10 of people , developers &amp;amp; others&lt;/em&gt;&lt;/p&gt;&lt;p&gt;Mike&lt;/p&gt;&lt;br&gt;&lt;br&gt;Posted to: get the size of a folder &lt;a href=&quot;http://www.silverstripe.org/archive/show/86027#post86027&quot;&gt;Show Thread&lt;/a&gt; | &lt;a href=&quot;http://www.silverstripe.org/archive/show/86027#post86027&quot;&gt;Post Reply&lt;/a&gt;</description>
			<pubDate>Sat, 07 Jun 2008 14:56:20 +1200</pubDate>
			<dc:creator>MIke</dc:creator>
			<guid>http://www.silverstripe.org/archive/show/86027#post86027</guid>
		</item>
		

	</channel>
</rss>