<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>corporacao Web &#187; PHP</title>
	<atom:link href="http://corporacaoweb.com/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://corporacaoweb.com</link>
	<description>Blog de tecnologia, tendência, Web Standards, CSS, XHTML, PHP, Javascript</description>
	<lastBuildDate>Fri, 24 Jul 2009 17:42:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Como gerar thumbnail de FLV com php</title>
		<link>http://corporacaoweb.com/como-gerar-thumbnail-de-flv-com-php.html</link>
		<comments>http://corporacaoweb.com/como-gerar-thumbnail-de-flv-com-php.html#comments</comments>
		<pubDate>Mon, 21 Jul 2008 18:28:59 +0000</pubDate>
		<dc:creator>Paulo Kanayama</dc:creator>
				<category><![CDATA[Classes]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Servidor]]></category>

		<guid isPermaLink="false">http://corporacaoweb.com/?p=167</guid>
		<description><![CDATA[Primeiramente vc deve instalar as Classes no PHP,
ffmpeg (http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2),
ffmpeg_php (http://sourceforge.net/project/showfiles.php?group_id=122353&#38;package_id=133626)
despois dede processo de instalação, simplesmente instanciei o obj,

$movie = new FFmpeg_movie($srcFile, false);

peguei o frame do FLV que eu desejava,

$frame = $movie-&#38;gt;getFrame(rand(1, ceil($movie-&#38;gt;getFrameRate())));

gerei a imagem GD com,

$frame_thumb = $frame-&#38;gt;toGDImage();

e criei o thumbcomo normalmente&#8230;.
Codigo:

    getFrame(rand(1, ceil($movie-&#38;gt;getFrameRate())));
    $frame_thumb = $frame-&#38;gt;toGDImage();
   [...]]]></description>
			<content:encoded><![CDATA[<p>Primeiramente vc deve instalar as Classes no PHP,<br />
ffmpeg (http://ffmpeg.mplayerhq.hu/ffmpeg-export-snapshot.tar.bz2),<br />
ffmpeg_php (http://sourceforge.net/project/showfiles.php?group_id=122353&amp;package_id=133626)</p>
<p>despois dede processo de instalação, simplesmente instanciei o obj,</p>
<pre class="brush: php;">
$movie = new FFmpeg_movie($srcFile, false);
</pre>
<p>peguei o frame do FLV que eu desejava,</p>
<pre class="brush: php;">
$frame = $movie-&amp;gt;getFrame(rand(1, ceil($movie-&amp;gt;getFrameRate())));
</pre>
<p>gerei a imagem GD com,</p>
<pre class="brush: php;">
$frame_thumb = $frame-&amp;gt;toGDImage();
</pre>
<p>e criei o thumbcomo normalmente&#8230;.</p>
<p>Codigo:</p>
<pre class="brush: php;">
    getFrame(rand(1, ceil($movie-&amp;gt;getFrameRate())));
    $frame_thumb = $frame-&amp;gt;toGDImage();
    $width = imagesx( $frame_thumb );
    $height = imagesy( $frame_thumb );
    $frame = &quot;&quot;;
    $movie = null;
    $thumb = @imagecreatetruecolor( $thumbW, $thumbH );
    @imagecopyresized($thumb, $frame_thumb, 0, 0, 0, 0, $thumbW, $thumbH, $width, $height);
    @imagedestroy($frame_thumb);
    return $thumb;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://corporacaoweb.com/como-gerar-thumbnail-de-flv-com-php.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ligando o register globals do php</title>
		<link>http://corporacaoweb.com/ligando-o-register-globals-do-php.html</link>
		<comments>http://corporacaoweb.com/ligando-o-register-globals-do-php.html#comments</comments>
		<pubDate>Sat, 03 May 2008 17:57:38 +0000</pubDate>
		<dc:creator>Luis Filipe Costa Carvalho</dc:creator>
				<category><![CDATA[Apache]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Leu? Comente!]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Servidor]]></category>

		<guid isPermaLink="false">http://corporacaoweb.com/ligando-o-register-globals-do-php.html</guid>
		<description><![CDATA[Mais um post dos rapidinhos =)
Você tem aquele site velho, em php4, que usa o register globals, tem que publicá-lo em um servidor que possui register globals off por padrão, esta pensando que vai ter que alterar toda a estrutura do site e já esta se descabelando por isso??? CALMA!
Como diria um velho amigo meu: [...]]]></description>
			<content:encoded><![CDATA[<p>Mais um post dos rapidinhos =)</p>
<p>Você tem aquele site velho, em php4, que usa o register globals, tem que publicá-lo em um servidor que possui register globals off por padrão, esta pensando que vai ter que alterar toda a estrutura do site e já esta se descabelando por isso??? CALMA!</p>
<p>Como diria um velho amigo meu: &#8220;Seus problemas se acabaram-se!&#8221;.</p>
<p>É só ir no .htaccess e colocar a seguinte linha:<br />
php_flag register_globals on</p>
<p>E &#8220;Voila&#8221;,o register globals para a pasta onde esta este arquivo e todas as filhas vai estar ligado =)</p>
<p>Abraço!</p>
]]></content:encoded>
			<wfw:commentRss>http://corporacaoweb.com/ligando-o-register-globals-do-php.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tratando erros em PHP</title>
		<link>http://corporacaoweb.com/tratando-erros-em-php.html</link>
		<comments>http://corporacaoweb.com/tratando-erros-em-php.html#comments</comments>
		<pubDate>Mon, 17 Sep 2007 12:46:28 +0000</pubDate>
		<dc:creator>Luis Filipe Costa Carvalho</dc:creator>
				<category><![CDATA[Aprovado!]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Interessante]]></category>
		<category><![CDATA[Leu? Comente!]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://corporacaoweb.com/artigos/tratando-erros-em-php/</guid>
		<description><![CDATA[Depois que um sistema é produzido ele vai para o ambiente de testes e, nem sempre, todas as possibilidades são testadas e todas as falhas são descobertas. Alguns erros passam daqui, outros dali e o site vai para um ambiente real funcionando 90%. É muito difícil um site sair da produção sem nenhuma falha. Mas [...]]]></description>
			<content:encoded><![CDATA[<p>Depois que um sistema é produzido ele vai para o ambiente de testes e, nem sempre, todas as possibilidades são testadas e todas as falhas são descobertas. Alguns erros passam daqui, outros dali e o site vai para um ambiente real funcionando 90%. É muito difícil um site sair da produção sem nenhuma falha. Mas ai esta a questão. Se ele der erro em ambiente real, como ficar sabendo?</p>
<p>Provavelmente pensando nisso o pessoal da <a href="http://www.zend.com" target='_blank'>Zend</a> implementou a função <a href="http://br.php.net/manual/pt_BR/function.set-error-handler.php" target='_blank'>set_error_handler</a>, que serve para tratar erros gerados em tempo de execução.</p>
<p>Por exemplo, se você usar uma variável que não existe ou dividir um número por zero esta função será chamada e você trata o erro da forma que achar melhor.</p>
<p>Nos sites que eu desenvolvo normalmente eu uso esta função para tratar os erros:</p>
<pre class="brush: php;">
set_error_handler('trataErro');

function trataErro($msg,$errno,$errstr,$errfile,$errline) {
   $msg =&quot;&amp;lt;pre&amp;gt;
              \nErro....: [$errno] - $errstr
              \nDate....: &quot;.date(&quot;d/m/Y H:i:s&quot;) . &quot;
              \nFile....: &amp;lt;b&amp;gt;$errfile&amp;lt;/b&amp;gt; : &amp;lt;b&amp;gt;$errline&amp;lt;/b&amp;gt;\n
          &amp;lt;/pre&gt;
          &amp;lt;h2&gt;Roll Back: &amp;lt;/h2$gt;&quot;;

       $trace = debug_backtrace(); //pegando o backtrace da execução
       foreach ($trace as $k=&gt;$v) {
           if ($v['function'] == &quot;trataErro&quot;) continue;
           $msg .=  &quot;&amp;lt;ul&amp;gt;&amp;lt;li&amp;gt;Função: &amp;lt;b style=\&quot; color: green\&quot;&amp;gt;&quot; . $v['function'] . &quot;&amp;lt;/b&amp;gt;&amp;lt;/li&amp;gt;&amp;lt;/ul&amp;gt;
                   &amp;lt;ol&amp;gt;File: &quot; . $v['file'] .&quot;&amp;lt;/ol&amp;gt;
                   &amp;lt;ol&amp;gt;Linha: &quot; . $v['line'] .&quot;&amp;lt;/ol&amp;gt;&quot;;

           if (isset($v['args'])) {
               $msg .=  &quot;Argumentos:&amp;lt;ul&amp;gt;&quot;;
               foreach ($v['args'] as $a) {
                   $msg .=  &quot;&amp;lt;li&amp;gt;$a&amp;lt;/li&amp;gt;&quot;;
               }
               $msg .=  &quot;&amp;lt;/ul&amp;gt;&quot;;
           }
       }

    ob_start(); //ligando buffer de saida
    echo &quot;&amp;lt;h1&amp;gt; Variáveis Globais &amp;lt;/h1&amp;gt;&quot;;
    echo &quot;&amp;lt;h2&amp;gt; _SERVER &amp;lt;/h2&amp;gt;&quot;;
    echo &quot;&amp;lt;pre&amp;gt;\n&quot;;print_r($_SERVER);echo&quot;&amp;lt;/pre&amp;gt;&quot;;
    echo &quot;&amp;lt;h2&amp;gt; _POST &amp;lt;/h2&amp;gt;&quot;;
    echo &quot;&amp;lt;pre&amp;gt;\n&quot;;print_r($_POST);echo&quot;&amp;lt;/pre&amp;gt;&quot;;
    echo &quot;&amp;lt;h2&amp;gt; _GET &amp;lt;/h2&amp;gt;&quot;;
    echo &quot;&amp;lt;pre&amp;gt;\n&quot;;print_r($_GET);echo&quot;&amp;lt;/pre&amp;gt;&quot;;
    $msg .= ob_get_contents(); //pegando o conteúdo do buffer de saida
    ob_end_clean(); //limpando o buffer de saida
    echo $msg;
    die; //Se algum erro existir ele aborta a execução do script
}
</pre>
<p>Depois de gerada a mensagem, se o site estiver em ambiente real ele mostra uma mensagem falando sobre o erro e pedindo desculpas e se estiver em ambiente de teste ele mostra o erro da forma como eu organizei na função.</p>
<p>O uso deste tipo de função é simples e trás grandes ganhos para os programadores que conseguem ter um feedback de como esta o código do site.</p>
]]></content:encoded>
			<wfw:commentRss>http://corporacaoweb.com/tratando-erros-em-php.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Classe que lista arquivos</title>
		<link>http://corporacaoweb.com/classe-que-lista-arquivos.html</link>
		<comments>http://corporacaoweb.com/classe-que-lista-arquivos.html#comments</comments>
		<pubDate>Thu, 02 Aug 2007 17:09:35 +0000</pubDate>
		<dc:creator>Luis Filipe Costa Carvalho</dc:creator>
				<category><![CDATA[Classes]]></category>
		<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Interessante]]></category>
		<category><![CDATA[Leu? Comente!]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://corporacaoweb.com/artigos/classe-que-lista-arquivos/</guid>
		<description><![CDATA[Depois de algum tempo sem postar, hoje decidi postar este artigo que estava no &#8220;gatilho&#8221; faz algum tempo =)
Aqui na agência onde eu trabalho tive que fazer uma classe que lista os arquivos de uma determinada pasta de todas as suas pastas &#8220;filhas&#8221;. Para fazer isso decidi fazer uma classe que retornasse todos os arquivos [...]]]></description>
			<content:encoded><![CDATA[<p>Depois de algum tempo sem postar, hoje decidi postar este artigo que estava no &#8220;gatilho&#8221; faz algum tempo =)</p>
<p>Aqui na agência onde eu trabalho tive que fazer uma classe que lista os arquivos de uma determinada pasta de todas as suas pastas &#8220;filhas&#8221;. Para fazer isso decidi fazer uma classe que retornasse todos os arquivos de forma simples, eu aponto a pasta e a classe me retorna o caminho de todos os arquivos que tem dentro dela.</p>
<p>Coloquei a classe aqui no blog mas não ficou muito boa não, então eu decidi, além de deixar a classe aqui, colocar em um arquivo de texto e fazer link.</p>
<pre class="brush: php;">
&lt;?php
class buscaArquivos{
    private $_pasta;
    private $_filtro = array();
    public $_arquivos = array();

    /*
        Contrutor da classe, ele cria o objeto seta a pasta de procura da classe como a
        pasta raiz do site
    */
    public function buscaArquivos(){
        $pasta = ereg_replace(DIRECTORY_SEPARATOR.&quot;+&quot;, DIRECTORY_SEPARATOR , $_SERVER['DOCUMENT_ROOT'].&quot;/&quot;);
        $this-&gt;_pasta = $pasta;
    }

    /*
        função que retorna a atual pasta de consulta da classe
    */
    public function getPasta(){
        return $this-&gt;_pasta;
    }

    /*
        função usada para setar a pasta em que a busca sera feita
    */
    public function setPasta($pasta){
        if($pasta != &quot;&quot;) $this-&gt;_pasta = $pasta;
    }

    /*
        função que retirna o nomero de arquivos encontrados pelas busca
    */
    public function getNumeroArquivos(){
        return count($this-&gt;_arquivos);
    }

    /*
        função que retorna true se a extensao passada por parametro
        se ela constar na lista de filtro
    */
    public function checkFiltro($extensao) {
        return in_array($extensao, $this-&gt;_filtro);
    }

    /*
        retorna os arquivos que forma encontrados na busca
    */
    public function getArquivos(){
        return $this-&gt;_arquivos;
    }

    /*
        função que adiciona uma extensao aos filtros da busca, a busca não vai retornar os arquivos com a extensao adicionada
    */

    public function addFiltro($extensao){
        if(!in_array($extensao, $this-&gt;_filtro))
            $this-&gt;_filtro[] = trim($extensao);
    }

    /*
        função que verifica se a pasta é um diretório , se sim ela executa a função que faz a busca
    */
    public function procura(){
        if(is_dir($this-&gt;_pasta)){
            $this-&gt;listaArquivos($this-&gt;_pasta);
        }
    }

    /*
        função recursva que faz a busca
    */

    private function listaArquivos($dir){
        $handler = opendir($dir);
        while (false !== ($file = readdir($handler))) {
            if(!eregi(&quot;^[.]+$&quot;, $file)){
                if(!is_dir($dir.&quot;/&quot;.$file)){
                    if(!empty($this-&gt;_filtro)){
                         if(!in_array(strtolower($this-&gt;getExtensao($file)), $this-&gt;_filtro))
                             $this-&gt;_arquivos[] = ereg_replace(DIRECTORY_SEPARATOR.&quot;+&quot;, DIRECTORY_SEPARATOR , $dir.$file);
                    }else
                         $this-&gt;_arquivos[] = $dir.$file;
                }else $this-&gt;listaArquivos($dir.$file.&quot;/&quot;);
           }
        }
        unset($handler);
    }

    /*
        função que retorna o caminho não absoluto do arquivo
    */
    public function retornaLink(){
        $this-&gt;_arquivos = str_replace($_SERVER['DOCUMENT_ROOT'], &quot;&quot; , $this-&gt;_arquivos);
    }

    /*
        função que retorna apenas o nome do arquivo e a extensao do arquivo
    */
    static function retornaNome($iArquivoNome){
        $iNome = explode(&quot;/&quot;,$iArquivoNome);
        $iNome = end($iNome);
        return $iNome;
    }

    /*
        função que retorna o tamanho do arquivo, recebido por parametro, em KB
    */
    static function retornaTamanho($iArquivo){
        return number_format(filesize($_SERVER['DOCUMENT_ROOT'].$iArquivo) / 1024,2,&quot;,&quot;,&quot;.&quot;);
    }

    /*
        função que retona a extenção do arquivo recebido por parametro
    */
    static function getExtensao($iArquivo){
        $extensao = explode(&quot;.&quot;,$iArquivo);
        return end($extensao);
    }

}

$arq = new buscaArquivos;
$arq-&gt;addFiltro(&quot;php&quot;);  //adiciona o filtro para a extensao php, assim ele não ira lista os arquivos com esta extenção
$arq-&gt;procura(); //efetua a busca na pasta determinada
echo &quot;$arq-&gt;getNumeroArquivos() &lt;br /&gt;&quot;; //monstra o número de arquivos que a busca encontrou.

?&gt;
</pre>
<p><a href='http://corporacaoweb.com/arquivos/2007/08/buscaarquivosclass.txt' title='Download da classe que lista arquivos de uma pasta' target='_blank'>Download da classe que lista arquivos de uma pasta</a></p>
<p>Esta classe me trouxe grande benefícios e grande facilidades com operações deste tipo. Espero que possa ajudar a voce também e que voce. </p>
<p>QUALQUER elogio, sugestão ou critica será bem-vindo =)</p>
]]></content:encoded>
			<wfw:commentRss>http://corporacaoweb.com/classe-que-lista-arquivos.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Calculando o espaço livre no hd</title>
		<link>http://corporacaoweb.com/calculando-o-espaco-livre-no-hd.html</link>
		<comments>http://corporacaoweb.com/calculando-o-espaco-livre-no-hd.html#comments</comments>
		<pubDate>Tue, 29 May 2007 16:56:28 +0000</pubDate>
		<dc:creator>Luis Filipe Costa Carvalho</dc:creator>
				<category><![CDATA[Desenvolvimento]]></category>
		<category><![CDATA[Interessante]]></category>
		<category><![CDATA[Leu? Comente!]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.corporacaoweb.com/index.php/artigos/2007/05/29/calculando-o-espaco-livre-no-hd/</guid>
		<description><![CDATA[
Hoje precisei de uma função que calculava quanto de espaço foi usado de uma partição. Dei uma pesquisada e descobri que existem duas funções no PHP que me permitem calcular este valor.
1) disk_total_space &#8211; ela retorna quantos bytes de capacidade total tem uma unidade que eu aponto.
2) disk_free_space &#8211; ela retorna quantos bytes tem disponíveis [...]]]></description>
			<content:encoded><![CDATA[<div id='imgfront'><a href='http://www.corporacaoweb.com/arquivos/2007/05/520315_80448256.jpg' title='Calculando o espaço livre no hd' rel='lightbox'><img src='http://www.corporacaoweb.com/arquivos/2007/05/520315_80448256.miniatura.jpg' alt='Calculando o espaço livre no hd' /></a></div>
<p>Hoje precisei de uma função que calculava quanto de espaço foi usado de uma partição. Dei uma pesquisada e descobri que existem duas funções no PHP que me permitem calcular este valor.</p>
<p>1) <a href="http://br2.php.net/manual/pt_BR/function.disk-total-space.php" target='_blank'>disk_total_space</a> &#8211; ela retorna quantos bytes de capacidade total tem uma unidade que eu aponto.<br />
2) <a href="http://br2.php.net/manual/pt_BR/function.disk-free-space.php"  target='_blank'>disk_free_space</a> &#8211; ela retorna quantos bytes tem disponíveis em uma unidade que eu passo por parâmetro</p>
<p>Portanto, o número total de bytes menos o numero de bytes livres me da o numero de bytes usados certo? Baseado nessa lógica, combinada com uma função que me mostra o &#8220;tamanho humano&#8221;,  eu usei estas linhas de código.</p>
<pre class="brush: php;">
&lt; ?php

//partição da qual quero saber o espaço usado
$iParticao = &quot;/&quot;;

echo &quot;O espaço usado em $iParticao é: &quot;.(HumanSize(disk_total_space($iParticao) - disk_free_space($iParticao)));

function HumanSize($iBytes){
    $iType=array(&quot;&quot;, &quot;Kilo&quot;, &quot;Mega&quot;, &quot;Giga&quot;, &quot;Tera&quot;, &quot;Peta&quot;, &quot;Exa&quot;, &quot;Zetta&quot;, &quot;Yotta&quot;);
    $iIndex=0;

    while($Bytes &gt;= 1024){
        $iBytes /= 1024;
        $iIndex++;
    }

    return number_format($iBytes, 2) . &quot; $iType[$iIndex]bytes&quot;;
}
?&gt;
</pre>
<p>Voce já sabia dessas funções?</p>
]]></content:encoded>
			<wfw:commentRss>http://corporacaoweb.com/calculando-o-espaco-livre-no-hd.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
