<?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>Web Kaput &#187; PHP</title>
	<atom:link href="http://www.webkaput.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.webkaput.com</link>
	<description>A Web Desconstruída</description>
	<lastBuildDate>Thu, 03 Jun 2010 21:15:31 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>PHP Warning:  ftp_put(): Could not open data connection to port 11312: No route to host</title>
		<link>http://www.webkaput.com/php-warning-ftp_put-could-not-open-data-connection-to-port-11312-no-route-to-host/</link>
		<comments>http://www.webkaput.com/php-warning-ftp_put-could-not-open-data-connection-to-port-11312-no-route-to-host/#comments</comments>
		<pubDate>Tue, 21 Oct 2008 16:02:55 +0000</pubDate>
		<dc:creator>João José</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webkaput.com/?p=151</guid>
		<description><![CDATA[Ai Ai&#8230;.então é assim a solução para esta treta é:
// ligação
$conn_id = ftp_connect($ftp_server);
if(!$conn_id){
$erro=&#8217;FTP indisponível&#8217;;
ftp_close($conn_id);
return false;
}
// user e pass
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if(!$login_result){
$erro=&#8217;Login incorrecto&#8217;;
ftp_close($conn_id);
return false;
}
//modo passivo ON
ftp_pasv($conn_id, true);
A parte a bold é a importante para que funcione. Com alguns servidores o PHP fica ali a derrapar até dar aquele erro manhoso.
]]></description>
			<content:encoded><![CDATA[<p>Ai Ai&#8230;.então é assim a solução para esta treta é:</p>
<p>// ligação<br />
$conn_id = ftp_connect($ftp_server);<br />
if(!$conn_id){<br />
$erro=&#8217;FTP indisponível&#8217;;<br />
ftp_close($conn_id);<br />
return false;<br />
}</p>
<p>// user e pass<br />
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);<br />
if(!$login_result){<br />
$erro=&#8217;Login incorrecto&#8217;;<br />
ftp_close($conn_id);<br />
return false;<br />
}</p>
<p><strong>//modo passivo ON<br />
ftp_pasv($conn_id, true);</strong></p>
<p>A parte a bold é a importante para que funcione. Com alguns servidores o PHP fica ali a derrapar até dar aquele erro manhoso.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webkaput.com/php-warning-ftp_put-could-not-open-data-connection-to-port-11312-no-route-to-host/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pequeno desafio</title>
		<link>http://www.webkaput.com/pequeno-desafio/</link>
		<comments>http://www.webkaput.com/pequeno-desafio/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 13:34:27 +0000</pubDate>
		<dc:creator>João José</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://www.webkaput.com/?p=147</guid>
		<description><![CDATA[Foi pena só ler agora o desafio do Dustin Diaz mas de qualquer forma aqui está a minha solução despretensiosa obtida em cerca de 20 min. É engraçado como há tantas soluções para um problema.
Numa side note ora aí está um excelente link bait 

/*In English: Group together all duplicate items that occur anytime beyond [...]]]></description>
			<content:encoded><![CDATA[<p>Foi pena só ler agora o <a href="http://www.dustindiaz.com/programming-brain-teaser/">desafio do Dustin Diaz</a> mas de qualquer forma aqui está a minha solução despretensiosa obtida em cerca de 20 min. É engraçado como há tantas soluções para um problema.</p>
<p>Numa side note ora aí está um excelente link bait <img src='http://www.webkaput.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
<code><br />
/*In English: Group together all duplicate items that occur anytime beyond twice by wrapping them with a tag, naturally “bookending” them.<br />
Simple, right? No, really. Tease your brain for a few minutes, you can fix that bug after lunch.*/</p>
<p>$polvero = array('a','b','c','d','e','e','e','e','e','f','e','f','e','f','a','a','a','f','f','f');</p>
<p>foreach($polvero as $key=&gt;$value){</p>
<p>if($twice==true and !array_key_exists(1,$twice)){<br />
$string.=$starttag.$value;<br />
}else{<br />
$string.=$endtag.$value;<br />
}</p>
<p>if($polvero[$key-1]==$value &amp;&amp; $polvero[$key+1]==$value){<br />
$twice[]=true;<br />
$starttag='&lt;span&gt;';<br />
}elseif($twice==true){<br />
$endtag='&lt;/span&gt;';<br />
if(array_key_exists($key+1,$polvero)){<br />
$twice=false;<br />
}else{<br />
$twice=false;<br />
$end=true;<br />
}<br />
}else{<br />
$endtag=false;<br />
}</p>
<p>}</p>
<p>if($end==true){$string.='&lt;/span&gt;';}</p>
<p>echo $string;<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.webkaput.com/pequeno-desafio/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pequeno script para usar com a Awareness API do FeedBurner</title>
		<link>http://www.webkaput.com/pequeno-script-para-usar-com-a-awareness-api-do-feedburner/</link>
		<comments>http://www.webkaput.com/pequeno-script-para-usar-com-a-awareness-api-do-feedburner/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 16:47:12 +0000</pubDate>
		<dc:creator>João José</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Scripts]]></category>
		<category><![CDATA[Web Marketing]]></category>

		<guid isPermaLink="false">http://www.webkaput.com/pequeno-script-para-usar-com-a-awareness-api-do-feedburner/</guid>
		<description><![CDATA[Se quiserem substituir a &#8220;Chicklet&#8221; do Feedburner por algo mais ao vosso gosto podem usar este scriptzeco.  
Precisam do HTTP_Request e não se esqueçam de mudar o feed  

Code (php)
&#160; &#160; &#160; &#160; 
&#60;?
require_once &#8216;HTTP/Request.php&#8217;;
&#160; &#160; &#160; &#160; &#160;
$url=&#8217;api.feedburner.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/WebKaput&#8217;;
&#160; 
$req =&#38; new HTTP_Request($url,$params=array(proxy_port=&#62;80));
$req-&#62;setMethod(&#8217;GET&#8217;);
$req-&#62;sendRequest();
&#160; &#160; &#160; &#160; 
$response=$req-&#62;_response-&#62;_body;
preg_match(&#8217;/circulation=&#34;([0-9]+)&#34;/&#8217;,$response,$matches);
//xtaram!!
echo $matches[1];

?&#62;
Já agora alguém sabe se o [...]]]></description>
			<content:encoded><![CDATA[<p>Se quiserem substituir a &#8220;Chicklet&#8221; do Feedburner por algo mais ao vosso gosto podem usar este scriptzeco. <img src='http://www.webkaput.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Precisam do <a href="http://pear.php.net/package/HTTP_Request/">HTTP_Request</a> e não se esqueçam de mudar o feed <img src='http://www.webkaput.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<div class="ch_code_container" style="font-family: monospace;white-space: nowrap;height:300px;">
<div style="">Code (php)</div>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <br />
&lt;?<br />
require_once &#8216;HTTP/Request.php&#8217;;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<br />
$url=&#8217;api.feedburner.com/awareness/1.0/GetFeedData?uri=http://feeds.feedburner.com/WebKaput&#8217;;<br />
&nbsp; <br />
$req =&amp; new HTTP_Request($url,$params=array(proxy_port=&gt;80));<br />
$req-&gt;setMethod(&#8217;GET&#8217;);<br />
$req-&gt;sendRequest();<br />
&nbsp; &nbsp; &nbsp; &nbsp; <br />
$response=$req-&gt;_response-&gt;_body;<br />
preg_match(&#8217;/circulation=&quot;([0-9]+)&quot;/&#8217;,$response,$matches);</p>
<p>//xtaram!!<br />
echo $matches[1];</p>
<p>
?&gt;</div>
<p>Já agora alguém sabe se o FeedBurner tem limite para o número de feeds por conta? Se eu quiser colocar lá 500 feeds será que posso?</p>
<p>P.S. Coloquem a resposta numa base de dados ou coisa do género porque a api ainda tem um tempo de resposta um bocado alto.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webkaput.com/pequeno-script-para-usar-com-a-awareness-api-do-feedburner/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Migração PHP4 para PHP5</title>
		<link>http://www.webkaput.com/migracao-php4-para-php5/</link>
		<comments>http://www.webkaput.com/migracao-php4-para-php5/#comments</comments>
		<pubDate>Mon, 27 Aug 2007 16:09:48 +0000</pubDate>
		<dc:creator>João José</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webkaput.com/migracao-php4-para-php5/</guid>
		<description><![CDATA[Vou fazer upgrade do php4 para o php5 primeiro no servidor local e mais tarde vou passar à produção. Já vi algumas boas páginas a alertar para potenciais problemas na migração mas gostava de saber a opinião de quem já passou pelo mesmo.
Ideias, conselhos, alertas?
Obrigado!
]]></description>
			<content:encoded><![CDATA[<p>Vou fazer upgrade do php4 para o php5 primeiro no servidor local e mais tarde vou passar à produção. Já vi algumas boas páginas a alertar para <a href="http://livedocs.coggeshall.org/en/migration5.html#migration5.incompatible">potenciais problemas na migração</a> mas gostava de saber a opinião de quem já passou pelo mesmo.</p>
<p>Ideias, conselhos, alertas?</p>
<p>Obrigado!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webkaput.com/migracao-php4-para-php5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blogroll desaparece no wordpress 2.2.2</title>
		<link>http://www.webkaput.com/blogroll-desaparece-no-wordpress-222/</link>
		<comments>http://www.webkaput.com/blogroll-desaparece-no-wordpress-222/#comments</comments>
		<pubDate>Sun, 19 Aug 2007 13:56:43 +0000</pubDate>
		<dc:creator>João José</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webkaput.com/blogroll-desaparece-no-wordpress-222/</guid>
		<description><![CDATA[Fiz agora a actualizaçao do wordpress para a versão 2.2 que tem umas funcionalidades porreiras como o autosave dos posts. A actualização demorou uns 20s mas depois reparei que os meus links do blogroll tinham desaparecido, um pequeno problema certamente partilhado por quem como eu tinha a versão 2.0
Não me lembro se o os links [...]]]></description>
			<content:encoded><![CDATA[<p>Fiz agora a actualizaçao do <a href="http://wordpress.org/download/">wordpress para a versão 2.2</a> que tem umas funcionalidades porreiras como o autosave dos posts. A actualização demorou uns 20s mas depois reparei que os meus links do blogroll tinham desaparecido, um pequeno problema certamente partilhado por quem como eu tinha a versão 2.0</p>
<p>Não me lembro se o os links que tinha estavam categorizados mas sei que depois da actualização ficaram sob a categoria blogroll. O problema está no ficheiro sidebar.php do tema que mantive e que ia buscar os links com a função <a href="http://codex.wordpress.org/Template_Tags/wp_get_links">wp_get_links()</a> . Ora esta função agora não funciona assim temos de chamá-la identificando a categoria do link, no meu caso:</p>
<div class="ch_code_container" style="font-family: monospace;white-space: nowrap;height:100%;">
<div style="">Code (php)</div>
<p>&lt;? wp_get_links(21); ?&gt;</p></div>
<p>E pronto lá estão de novo os links.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webkaput.com/blogroll-desaparece-no-wordpress-222/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nuances fopen() e copy()</title>
		<link>http://www.webkaput.com/nuances-fopen-e-copy/</link>
		<comments>http://www.webkaput.com/nuances-fopen-e-copy/#comments</comments>
		<pubDate>Sun, 08 Oct 2006 16:46:41 +0000</pubDate>
		<dc:creator>João José</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.webkaput.com/nuances-fopen-e-copy/</guid>
		<description><![CDATA[Quando abrirem um url com o fopen() ou o copy() não se esqueçam de apagar todo o espaço em branco do vosso url.
Por exemplo:
$url=&#8217;http://www.webkaput.com &#8216;;
$handle = fopen($url, &#8220;r&#8221;);
fclose($handle);
Vai devolver um 404. 
Se por outro lado fizerem:
$url=&#8217;http://www.webkaput.com &#8216;;
$handle = fopen(trim($url), &#8220;r&#8221;);
fclose($handle);
Já vão conseguir abrir a página.
Isto provavelmente acontece com outras funções. Descobri este problema depois de [...]]]></description>
			<content:encoded><![CDATA[<p>Quando abrirem um url com o <a href="http://pt.php.net/manual/en/function.fopen.php">fopen()</a> ou o <a href="http://pt.php.net/manual/en/function.copy.php">copy()</a> não se esqueçam de apagar todo o espaço em branco do vosso url.</p>
<p>Por exemplo:</p>
<p>$url=&#8217;http://www.webkaput.com &#8216;;<br />
$handle = fopen($url, &#8220;r&#8221;);<br />
fclose($handle);</p>
<p>Vai devolver um 404. </p>
<p>Se por outro lado fizerem:</p>
<p>$url=&#8217;http://www.webkaput.com &#8216;;<br />
$handle = fopen(trim($url), &#8220;r&#8221;);<br />
fclose($handle);</p>
<p>Já vão conseguir abrir a página.</p>
<p>Isto provavelmente acontece com outras funções. Descobri este problema depois de horas de frustação a tentar abrir vários urls que estavam numa base de dados. Acabei por adicionar uma nota no php.net pois não vi este assunto mencionado em lado nenhum. </p>
<p>Espero que ajude!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.webkaput.com/nuances-fopen-e-copy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
