<?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>SIMOTRONE WEB PAGE &#187; php</title>
	<atom:link href="http://www.simotrone.it/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.simotrone.it</link>
	<description>Simotrone is back!</description>
	<lastBuildDate>Fri, 30 Jul 2010 05:47:22 +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>PHP e siti impegnativi</title>
		<link>http://www.simotrone.it/2009/07/20/php-e-siti-impegnativi/</link>
		<comments>http://www.simotrone.it/2009/07/20/php-e-siti-impegnativi/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 07:55:31 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=2017</guid>
		<description><![CDATA[Ho trovato un articolo di Aaron Crane intitolato Experiences of Using PHP in Large Websites.
PHP ha dei grandi pregi: principalmente semplicità e rapidità.
L&#8217;articolo parla dei difetti del PHP: un sito complesso, da sviluppare in team, con molto codice embeddato nelle pagine puo&#8217; diventare un caos allucinante.
]]></description>
			<content:encoded><![CDATA[<p>Ho trovato un articolo di Aaron Crane intitolato <a href="http://www.ukuug.org/events/linux2002/papers/html/php/index.html"><strong>Experiences of Using PHP in Large Websites</strong></a>.</p>
<p>PHP ha dei grandi pregi: principalmente semplicità e rapidità.<br />
L&#8217;articolo parla dei difetti del PHP: un sito complesso, da sviluppare in team, con molto codice embeddato nelle pagine puo&#8217; diventare un caos allucinante.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/07/20/php-e-siti-impegnativi/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>img_resize</title>
		<link>http://www.simotrone.it/2009/07/02/img_resize/</link>
		<comments>http://www.simotrone.it/2009/07/02/img_resize/#comments</comments>
		<pubDate>Thu, 02 Jul 2009 06:36:17 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1964</guid>
		<description><![CDATA[Poiché la libreria Imagick di php NON si comporta proprio come imagemagick da cmdl, mi sono fatto una semplice funzione per thumbnailare le immagini che carico con un form.
Per qualche oscura ragione a differenza di suo padre, la funzione Imagick::thumbnailImage della libreria non riduce a partire dal lato più lungo, quindi bisogna imporre la propria [...]]]></description>
			<content:encoded><![CDATA[<p>Poiché la libreria Imagick di php <strong>NON</strong> si comporta proprio come imagemagick da cmdl, mi sono fatto una semplice funzione per <em>thumbnailare</em> le immagini che carico con un form.</p>
<p>Per qualche oscura ragione a differenza di suo padre, la funzione Imagick::thumbnailImage della libreria non riduce a partire dal lato più lungo, quindi bisogna imporre la propria volontà.</p>
<div class="codesnip-container" >
<div class="codesnip" style="font-family: monospace;"><span class="kw2">&lt;?php</span><br />
<span class="kw2">function</span> img_resize<span class="br0">&#40;</span><span class="re0">$src</span>,<span class="re0">$dst</span>,<span class="re0">$size</span> = <span class="nu0">450</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$max_length</span> = <span class="re0">$size</span>; <span class="coMULTI">/* Lato maggiore consentito in px */</span></p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span> = <span class="kw2">new</span> Imagick<span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">readImage</span><span class="br0">&#40;</span><span class="re0">$src</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$real_width</span> &nbsp;= <span class="re0">$img</span>-&gt;<span class="me1">getImageWidth</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$real_height</span> = <span class="re0">$img</span>-&gt;<span class="me1">getImageHeight</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span> <span class="re0">$real_width</span> &gt; <span class="re0">$max_length</span> || <span class="re0">$real_height</span> &gt; <span class="re0">$max_length</span> <span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$real_width</span> &gt; <span class="re0">$real_height</span><span class="br0">&#41;</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">thumbnailImage</span><span class="br0">&#40;</span><span class="re0">$max_length</span>,<span class="nu0">0</span>,<span class="kw2">false</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">thumbnailImage</span><span class="br0">&#40;</span><span class="nu0">0</span>,<span class="re0">$max_length</span>,<span class="kw2">false</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="br0">&#125;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">setImageFormat</span><span class="br0">&#40;</span><span class="st0">&#8216;jpeg&#8217;</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">writeImage</span><span class="br0">&#40;</span><span class="re0">$dst</span><span class="br0">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span class="re0">$img</span>-&gt;<span class="me1">destroy</span><span class="br0">&#40;</span><span class="br0">&#41;</span>;<br />
<span class="br0">&#125;</span><br />
<span class="kw2">?&gt;</span></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/07/02/img_resize/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Siti ed upload immagini</title>
		<link>http://www.simotrone.it/2009/06/28/siti-ed-upload-immagini/</link>
		<comments>http://www.simotrone.it/2009/06/28/siti-ed-upload-immagini/#comments</comments>
		<pubDate>Sun, 28 Jun 2009 10:21:17 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[form]]></category>
		<category><![CDATA[ImageMagick]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[upload file]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1958</guid>
		<description><![CDATA[Sono ancora alla ricerca di idee su &#8220;modi decenti&#8221; per uploadare immagini su di un sito.
L&#8217;idea è prendere i file con un form di upload, analizzarli e caricarli nel sistema. Poi metterli nel db, creare l&#8217;immagine delle dimensioni giuste e il thumb, poi linkarli quando vengono richiesti.
Le immagini vengono passate nel fs grazie a tempnam(), [...]]]></description>
			<content:encoded><![CDATA[<p>Sono ancora alla ricerca di idee su &#8220;modi decenti&#8221; per uploadare immagini su di un sito.<br />
L&#8217;idea è prendere i file con un form di upload, analizzarli e caricarli nel sistema. Poi metterli nel db, creare l&#8217;immagine delle dimensioni giuste e il thumb, poi linkarli quando vengono richiesti.<br />
Le immagini vengono passate nel fs grazie a <a href="http://it.php.net/manual/en/function.tempnam.php">tempnam()</a>, trasformate con le lib php di <a href="http://it.php.net/manual/en/book.imagick.php">imagemagick</a> in formato <strong>jpeg</strong>, e servite da apache come <strong>image/jpeg</strong> forzatamente (con <strong>ForceType</strong> sulla <strong>&lt;Directory&gt;</strong>).</p>
<p>Per ora non mi vengono idee migliori. Accetto consigli, nel caso.</p>
<p>Ne approfitto per <a href="http://www.phpro.org/tutorials/Imagick.html">linkare una paginetta</a> semplice semplice di tutorial riguardo le lib php Imagick, visto che non hanno documentazione.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/06/28/siti-ed-upload-immagini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stai sicuro!</title>
		<link>http://www.simotrone.it/2009/04/05/stai-sicuro/</link>
		<comments>http://www.simotrone.it/2009/04/05/stai-sicuro/#comments</comments>
		<pubDate>Sun, 05 Apr 2009 14:19:15 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[sicurezza siti]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1607</guid>
		<description><![CDATA[Ok, weekend nel marasma delle webapplication.
Ricapitolo un po&#8217;&#8230;
* Passaggi dati non numerici (potenzialmente massicci) in POST, ritorno in GET (per forza).
* Controllo in entrata di pagina (isset, is_numeric, blablabla, check di esistenza sul db).
* Funzioni di escape sui dati da inserire nel db. (pg_escape_string, mysql_real_escape)
* Funzioni di escape in output sul codice html (giusto per [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, weekend nel marasma delle webapplication.</p>
<p>Ricapitolo un po&#8217;&#8230;<br />
* Passaggi dati non numerici (potenzialmente massicci) in POST, ritorno in GET (per forza).<br />
* Controllo in entrata di pagina (isset, <a href="http://it.php.net/manual/en/function.is-numeric.php">is_numeric</a>, blablabla, check di esistenza sul db).<br />
* Funzioni di escape sui dati da inserire nel db. (<a href="http://it.php.net/manual/en/function.pg-escape-string.php">pg_escape_string</a>, <a href="http://it.php.net/manual/en/function.mysql-real-escape-string.php">mysql_real_escape</a>)<br />
* Funzioni di escape in output sul codice html (giusto per evitare scriptini e tag interpretabili): <a href="http://it.php.net/manual/en/function.htmlentities.php">htmlentities</a>.<br />
* Funzioni <a href="http://it.php.net/manual/en/function.stripslashes.php">stripslashes</a> per togliere gli escape nel db in output.<br />
* Check con regexp (<a href="http://it.php.net/manual/en/function.preg-match.php">preg_match</a>) sulle stringhe inserite, ocio ai filename con rischio per gli header serviti.</p>
<p>Un po&#8217; di storie dal <a href="http://phpsec.org/projects/guide/">php security consortium</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/04/05/stai-sicuro/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jpgraph</title>
		<link>http://www.simotrone.it/2009/02/20/jpgraph/</link>
		<comments>http://www.simotrone.it/2009/02/20/jpgraph/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 05:53:14 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[grafici]]></category>
		<category><![CDATA[jpgraph]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=1313</guid>
		<description><![CDATA[Manuale: http://doc.async.com.br/jpgraph/html/index.html
Controllo: andare sul proprio php-info.php e controllare se la versione php è corretta e se le GD sono enabled.
Installazione: con Debian è stato facile trovare i pacchetti con dselect (libphp-jpgraph).
Check post-installazione: controllato con dpkg -L dove sono i nuovi file.
idrogeno:/# dpkg -l &#124; grep jpgraph
ii  libphp-jpgraph        [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Manuale</strong>: <a href="http://doc.async.com.br/jpgraph/html/index.html">http://doc.async.com.br/jpgraph/html/index.html</a><br />
<strong>Controllo</strong>: andare sul proprio php-info.php e controllare se la versione php è corretta e se le GD sono <em>enabled</em>.<br />
<strong>Installazione</strong>: con Debian è stato facile trovare i <a href="http://packages.debian.org/sid/libphp-jpgraph">pacchetti</a> con dselect (libphp-jpgraph).<br />
<strong>Check post-installazione</strong>: controllato con dpkg -L dove sono i nuovi file.</p>
<pre>idrogeno:/# dpkg -l | grep jpgraph
ii  libphp-jpgraph                                          1.5.2-11+u1
                   Object oriented graph library for php4
ii  libphp-jpgraph-examples                                 1.5.2-11+u1
idrogeno:/# dpkg -L libphp-jpgraph
/usr/share/jpgraph/jpgraph_error.php
/usr/share/jpgraph/jpgraph_spider.php
/usr/share/jpgraph/jpgraph_canvas.php
/usr/share/jpgraph/jpgraph_pie3d.php
/usr/share/jpgraph/jpgraph_scatter.php
/usr/share/jpgraph/jpgraph_dir.php
/usr/share/jpgraph/jpgraph_bar.php
/usr/share/jpgraph/jpgraph_line.php
/usr/share/jpgraph/jpgraph_log.php
/usr/share/jpgraph/jpgraph_pie.php
/usr/share/jpgraph/jpgraph.php
/usr/share/jpgraph/jpgraph_gantt.php
[...]
/usr/share/doc/libphp-jpgraph/README.gz
[...]
</pre>
<p>Gli esempi sono in: </p>
<pre>/usr/share/doc/libphp-jpgraph-examples/*</pre>
<p>Poi ho provato <a href="http://doc.async.com.br/jpgraph/html/4020pieplot.html">questo esempio</a> includendo i miei percorsi alle librerie: </p>
<pre>include ("/usr/share/jpgraph/jpgraph.php" );
include ("/usr/share/jpgraph/jpgraph_pie.php");</pre>
<p><img src="/wp-content/img/jpprova.png" alt="prova jpgraph" /><br />
All done! <img src='http://www.simotrone.it/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>[Edit 090225: <strong>Warning</strong>; Debian è rimasta a jpgraph versione 1.5.2-11 causa cambio licenza e l'aggiornamento <u>non</u> è presente nei repo non-free. <a href="http://www.aditus.nu/jpgraph/jpdownload.php">Scaricare dal sito ufficiale</a> la versione aggiornata. ]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2009/02/20/jpgraph/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LAMP</title>
		<link>http://www.simotrone.it/2008/05/20/lamp/</link>
		<comments>http://www.simotrone.it/2008/05/20/lamp/#comments</comments>
		<pubDate>Tue, 20 May 2008 17:51:25 +0000</pubDate>
		<dc:creator>Simotrone</dc:creator>
				<category><![CDATA[Binary People]]></category>
		<category><![CDATA[Rhythm of my life]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Linking Park]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mysql]]></category>
		<category><![CDATA[OST]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[Transformer]]></category>

		<guid isPermaLink="false">http://www.simotrone.it/?p=548</guid>
		<description><![CDATA[Linux
Apache
MySQL
Php (e altro, nel mio caso)
Sottofondo musicale: OST dei Transformer. Da paura.
1. Linkin Park &#8211; What I&#8217;ve Done
2. Smashing Pumpkins &#8211; Doomsday Clock
3. Disturbed &#8211; This Moment
4. Goo Goo Dolls &#8211; Before It&#8217;s Too Late (Sam And Mikaela&#8217;s Theme)
5. The Used &#8211; Pretty Handsome Awkward
6. HIM &#8211; Passion&#8217;s Killing Floor
7. Taking Back Sunday &#8211; What [...]]]></description>
			<content:encoded><![CDATA[<p><img align="right" src="/wp-content/Img_generic/Transformers_2007_OST.jpg" alt="OST Transformer" /><strong>L</strong>inux<br />
<a href="http://httpd.apache.org/"><strong>A</strong>pache</a><br />
<a href="http://www.mysql.com/"><strong>M</strong>ySQL</a><br />
<a href="http://www.php.net/"><strong>P</strong>hp</a> (e altro, nel mio caso)</p>
<p>Sottofondo musicale: <strong>OST dei Transformer</strong>. Da paura.</p>
<blockquote><p>1. <em>Linkin Park</em> &#8211; What I&#8217;ve Done<br />
2. <em>Smashing Pumpkins</em> &#8211; Doomsday Clock<br />
3. <em>Disturbed</em> &#8211; This Moment<br />
4. <em>Goo Goo Dolls</em> &#8211; Before It&#8217;s Too Late (Sam And Mikaela&#8217;s Theme)<br />
5. <em>The Used</em> &#8211; Pretty Handsome Awkward<br />
6. <em>HIM</em> &#8211; Passion&#8217;s Killing Floor<br />
7. <em>Taking Back Sunday</em> &#8211; What It Feels Like To Be A Ghost?<br />
8. <em>Styles Of Beyond Feat. Mike Shinoda</em> &#8211; Second To None<br />
9. <em>Armor For Sleep</em> &#8211; End Of The World<br />
10. <em>Idiot Pilot</em> &#8211; Retina And The Sky<br />
11. <em>Julien-K</em> &#8211; Technical Difficulties<br />
12. <em>Mutemath</em> &#8211; Transformers Theme</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.simotrone.it/2008/05/20/lamp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
