<?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>BLOCRACY &#187; PHP</title>
	<atom:link href="http://www.blocracy.com/tag/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.blocracy.com</link>
	<description>no like other</description>
	<lastBuildDate>Sun, 05 Sep 2010 09:48:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Php ile Dosya indirme (curl)</title>
		<link>http://www.blocracy.com/php-ile-dosya-indirme-curl</link>
		<comments>http://www.blocracy.com/php-ile-dosya-indirme-curl#comments</comments>
		<pubDate>Fri, 14 Aug 2009 16:07:37 +0000</pubDate>
		<dc:creator>Kerem Bekman</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[dosya]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[indir]]></category>

		<guid isPermaLink="false">http://www.blocracy.com/?p=46</guid>
		<description><![CDATA[Curl ile dışarıdan toplu olarak dosya çekmem gerektiğinde yazdığım ufak bi&#8217; php betiği.. Biraz daha kullanılabilir hale gelmiş hali :) Ayrıca HTTP_VERSION &#8216; u 2.0 yerine 1.0 kullanmamın nedeni, 2.0&#8242;da bazen gelen veri paketlerde eksik veri olması yüzünden %100 güvenilirlik sağlamıyordu.. Çözüm olarak cappytoi&#8217;nun fikriyle Header&#8217;e 1.0 HTTP_VERSION&#8217;u yollayarak daha net paketler elde etmiş olduk.. [...]]]></description>
			<content:encoded><![CDATA[<p><img class="ocr" alt="" src="http://www.blocracy.com/dosyalar/php.jpg" class="aligncenter" width="510" height="72" /></p>
<p>Curl ile dışarıdan toplu olarak dosya çekmem gerektiğinde yazdığım ufak bi&#8217; php betiği.. Biraz daha kullanılabilir hale gelmiş hali :)</p>
<p>Ayrıca HTTP_VERSION &#8216; u 2.0 yerine 1.0 kullanmamın nedeni, 2.0&#8242;da bazen gelen veri paketlerde eksik veri olması yüzünden %100 güvenilirlik sağlamıyordu.. Çözüm olarak cappytoi&#8217;nun fikriyle Header&#8217;e 1.0 HTTP_VERSION&#8217;u yollayarak daha net paketler elde etmiş olduk..</p>
<pre name="code" class="php">function dosya_indir($link,$name=null)
{
$link_info = pathinfo($link);  //Yol bilgilerini değişkene atıyoruz.
$uzanti = strtolower($link_info['extension']); //Dosyanın uzantısını değişkene atıyoruz.
$file = ($name) ? $name.'.'.$uzanti : $link_info['basename']; //Eğer kayıt edilmek üzere dosya adı girilmişse, girilen dosya adını değişkene atıyouruz, girilmemişse orjinal adını değişkene atıyoruz.
$curl = curl_init($link);
$fopen = fopen($file,'w');
curl_setopt($curl, CURLOPT_HEADER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
curl_setopt($curl, CURLOPT_HTTP_VERSION,CURL_HTTP_VERSION_1_0);
curl_setopt($curl, CURLOPT_FILE, $fopen);
curl_exec($curl);
curl_close($curl);
fclose($fopen);
}</pre>
<p><strong>Kullanım #1</strong></p>
<pre name="code" class="php">dosya_indir('http://site/a.zip');</pre>
<p>PHP dosyasının bulunduğu dizine orjinal adında yani [a.zip] şeklinde dosyayı kayıt eder.</p>
<p><strong>Kullanım #2</strong></p>
<pre name="code" class="php">dosya_indir('http://site/a.zip','dosya_adi',);</pre>
<p>PHP dosyasının bulunduğu dizine 2. parametre yani [dosya_adi.zip] şeklinde dosyayı kayıt eder.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.blocracy.com/php-ile-dosya-indirme-curl/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP ile Grafik (GD Library)</title>
		<link>http://www.blocracy.com/php-ile-grafik-gd-library</link>
		<comments>http://www.blocracy.com/php-ile-grafik-gd-library#comments</comments>
		<pubDate>Fri, 14 Aug 2009 15:56:51 +0000</pubDate>
		<dc:creator>Kerem Bekman</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[gd]]></category>
		<category><![CDATA[grafik]]></category>

		<guid isPermaLink="false">http://www.blocracy.com/?p=41</guid>
		<description><![CDATA[Php ile Grafik ( GD ) GD DESTEĞİ Windows sistemlerde GD desteği için php.ini dosyamızdaki ;extension_php_gd.dll satırın başındaki noktalı virgülü kaldırmamız gerekir. Linux sistemlerde ise www.boutelll.com/gd adresinden, dosyaları indirip derlememiz gerekir. Grafik Oluşturuyoruz Grafik oluştururken Php ye bu sayfayı Grafik olarak kullancağımza dair bilgi vermemiz gerekir, bunun içinde header fonksiyonlarından yararlanıcaz. header("Content-type: image/jpeg"); header için [...]]]></description>
			<content:encoded><![CDATA[<p><img class="ocr" class="aligncenter" src="http://www.blocracy.com/dosyalar/php.jpg" alt="" width="510" height="72" /></p>
<p>Php ile Grafik ( GD )<br />
<strong>GD DESTEĞİ</strong></p>
<p>Windows sistemlerde GD desteği için php.ini dosyamızdaki ;extension_php_gd.dll satırın başındaki noktalı virgülü kaldırmamız gerekir.</p>
<p>Linux sistemlerde ise www.boutelll.com/gd adresinden, dosyaları indirip derlememiz gerekir.</p>
<p><strong>Grafik Oluşturuyoruz</strong></p>
<p><span id="more-41"></span><br />
Grafik oluştururken Php ye bu sayfayı Grafik olarak kullancağımza dair bilgi vermemiz gerekir, bunun içinde header fonksiyonlarından yararlanıcaz.</p>
<pre name="code" class="php">
header("Content-type: image/jpeg");
</pre>
<p>header için type olarak image/jpeg kullandık, bu başlık jpeg formatında bir resim oluşturmak için png için image/png kullanabiliriz.</p>
<p>Şimdi bir tane resim oluşturalım.</p>
<p>Resim alanı oluşturmak için imagecreate(); ve (Jpeg formatı için)  imagejpeg();, kullandığımız belliği boşaltmak içinde imagedestroy(); fonksiyonlarını kullanıyoruz.</p>
<pre name="code" class="php">
header("Content-type: image/jpeg");
$resim  = imagecreate(250,250); // Bu fonksiyonla resim alanımızın boyutlarını belirledik.
imagejpeg($resim); // ve burda da boyutlarını belirlediğimiz resmi oluşturduk.
imagedestroy($resim); // Burda ise Resim oluştukdan sonra bellekte yer kaplar. Bellekti kapladığımız yeri silmek için bu fonksiyonu kullandık.
</pre>
<p>NOT: Resim oluşturken renk belirlemediğimizde Php otomatik olarak Siyah rengini kullanır.<br />
Bu yüzden bu php kodumuzu çalıştırdığımzda 250&#215;250 formatında siyah bir resim oluşur.</p>
<p><strong>Renk kullanımı</strong></p>
<p>Renk kullanmak için imagecolorallocate(); fonksiyonunu kullanıyoruz.</p>
<p>Kullanımı: $renk =  imagecolorallocate($resim,$R,$G,$B);</p>
<p>NOT: Renk oluştururken RGB ( Red Green Blue ) renk sistemini kullanıcaz  RGB hakkında bilgi için http://en.wikipedia.org/wiki/RGB adresini inceleyebilirsiniz.</p>
<p><strong>Resmi boyamak</strong</p>
<pre name="code" class="php">
header(&#8220;Content-type: image/jpeg&#8221;);
$resim  = imagecreate(250,250);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );

imagefill ( $resim,0,0,$kirmizi );

imagejpeg($resim);
imagedestroy($resim);
</pre>
<p>imagefill();  İstediğimiz koordinatı istediğimiz renge boyamak için kullanılır. Eğer komple boyamak istiyorsak 0,0 koordinatlarını veriyoruz.</p>
<p>Bu kodumuzun çıktısı 250x250 formatlarında kırmızı bir resim olucaktır.</p>
<p><strong>Resimde obje kullanmak</strong></p>
<p>Obje olarak Dikdörtgen, Daire/Elips, Çizgi, Yazı  kullanımına değincez.</p>
<p><strong>Dikdörtgen</strong</p>
<p>Dikdörgen oluşturmak için imagefilledrectangle(); fonksiyonunu kullanıyoruz.</p>
<p>Kullanımı: imagefilledrectangle ( $resim, $x1,$y1,$x2,$y2,$renk );</p>
<pre name="code" class="php">
header("Content-type: image/jpeg");
$resim  = imagecreate(250,250);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imagefilledrectangle($resim,50,50,150,150,$mor);

imagejpeg($resim);
imagedestroy($resim);
</pre>
<p>Bu kod ile  X düzleminde 50 ye 150 ve y düzleminde 50 ye 150 arasındaki kalan alan mor renginde dikdörtgen yerleştirdik.</p>
<p>NOT: Koordinat belirlerken matematik te bildiğimiz koordinat sistemi ile aynı mantıkla koordinat belirliyoruz.</p>
<p>Sağdan sola  -<------->+     x koordinati</p>
<p>yukarıdan aşşağıya y koordinatı ( yukarısı + aşağısı -  )</p>
<p><strong>Daire/Elips</strong></p>
<p>Daire veya elips oluşturmak için imagefilledellipse(); fonksiyonunu kullanıyoruz.</p>
<p>Kullanımı: imagefilledellipse ( $resim, $x,$y,$W,$H,$renk );</p>
<p>$x ve $y değerleriyle oluşturacağımız elipsin merkez koordinatlarını, $W değişkeniyle elipsin eninin boyunu $H ilede Yukseklik boyunu ayarlıyoruz ( Haliyle Daire oluşturmak için $W ile $H nin eşit olması gerekir. )</p>
<p>300x300 formatında bir resimin tam ortasına yarıçapı 50 olan bir çember yerleştirelim.</p>
<pre name="code" class="php">
header("Content-type: image/jpeg");
$resim  = imagecreate(300,300);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imagefilledellipse($resim,150,150,50,50,$mor);

imagejpeg($resim);
imagedestroy($resim);
</pre>
<p><strong>Çizgi</strong></p>
<p>Çizgi (line ) oluşturmak için gerekli fonksiyon imageline();</p>
<p>Kullanımı: imageline ( $resim, $x1,$y1,$x2,$y2,$renk );</p>
<p>300x300 formatında bir resme 50.50  koordinatlarından 250.250 koordinatlarına giden bir çizgi oluşturalım.</p>
<pre name="code" class="php">
header("Content-type: image/jpeg");
$resim  = imagecreate(300,300);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imageline($resim,150,150,50,50,$mor);

imagejpeg($resim);
imagedestroy($resim);
</pre>
<p><strong>Yazı</strong></p>
<p>Resmimizde istediğimiz koordinata yazı yazmamız mümkündür bunun için imagestring(); fonksiyonunu kullanıyoruz.</p>
<p>Kullanımı: imagestring($resim,$font(int),$x,$y,"Yazı",$renk);</p>
<p>300x300 formatında bir resme 200.200 koordinatlarından başlayan Mor renginde oCRaCy yazalım</p>
<pre name="code" class="php">
header("Content-type: image/jpeg");
$resim  = imagecreate(300,300);
$kirmizi = imagecolorallocate( $resim, 255,0,0 );
$mor = imagecolorallocate( $resim, 100,50,100 );
imagefill ( $resim,0,0,$kirmizi );

imagestring($resim,1,200,200,"oCRaCy",$mor);

imagejpeg($resim);
imagedestroy($resim);
</pre>
<p>Kolay Gelsin</p>
<p>Daha ayrıntılı bilgi için > <a href="http://tr.php.net/manual/en/ref.image.php">http://tr.php.net/manual/en/ref.image.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.blocracy.com/php-ile-grafik-gd-library/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
