Php Arşivi
PHP ile Dosya Çekme
Turk-php de konusu geçince bu yazıyı hazırlamaya karar verdim. Örneğin bir sitedeki dosyanın linkini kendi sitemizde vermek istiyoruz ama adamlar dışarıdan erişimi yasaklamış. Öyle ise böyle diyerek bizde onlara böyle bir kod yardımı ile cevap vermiş oluruz
Tabiki her durum için işimizi görmeyebilir fakat onlar işin kolayına kaçıp minik bir htaccess dosyası oluşturmuşlardır ve başka sitelerden tıklanan linkleri engelliyorlardır. Bizde kodumuz yardımıyla sanki onların sitesindeymişiz gibi şaka yapıp, dosyamızı indirmenin keyfini süreriz. Lafı fazla uzatmadan kod kısmına gelelim,
< ?php /** * @author EvrenWeb * @copyright 2009 */ function dosya_indir($link,$name=null) { $link_info = pathinfo($link); $uzanti = strtolower($link_info['extension']); $file = ($name) ? $name.'.'.$uzanti : $link_info['basename']; $curl = curl_init($link); $fopen = fopen($file,'w'); curl_setopt($curl, CURLOPT_HEADER,0); curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); curl_setopt($curl, CURLOPT_REFERER, "http://www.evrenweb.net/"); # Yukarıda dosyayı başka siteden çektirmeye izin vermeyebilir # Bu yüzden kimliğimizi gizleyip, kendi sitesindeymişiz gibi izlenim # Yaratıyoruz. Hangi siteden çekiceksek o sitenin adresini yazaviliriz. 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); header('Content-Description: File Transfer'); header('Content-Type: application/download'); header("Content-Disposition: attachment; filename="".basename($file)."";"); header('Content-Length: ' . filesize($file)); @readfile($file) OR die(); } # dosya_indir($_POST['cek']); dosya_indir($_GET['cek']); # dosya_indir($_GET['cek'], "yeni_ad") şeklinde dosya ismini değiştirebiliriz ?>
Yukarıdaki kodumuzu dosya.php olarak kayıt edelim. Şimdi çekme işlemini nasıl yapacağımıza geldi sıra. Çook basit ! http://www.siteniz.com/dosya.php?cek=CEKİLECEK-DOSYANIN-ADRESİ şeklinde linkizimizi tarayıcımıza yazıcaz ve olup biticek
Ben örnek olarak burada form kullanıcam, isterseniz sizde $_GET yerine $_POST yazıp hazırladığınız form ile dosyayı çektirebilirsiniz. Form örneğide burada,
<form action="http://evrenweb.net/ornek/php/php-ile-dosya-cekme/dosya.php" enctype="application/x-www-form-urlencoded" method="post"> <input name="cek" size="25" style="border: 1px solid rgb(102, 102, 102);" value="http://www.egonomik.com/script/zip/resimyaz.zip" type="text"/> <input value="İndir !" type="submit"/> </form>
Bir önceki yazımda konusu geçen kodun hazır halini Egonomik'in sitesinden çekelim ![]()
Bu iletinin devamını oku
PHP İle Resim Üzerine Yazı Yazma Scripti
Sahile, köprüye istediğimiz yazıyı yazdırdığımız birçok site mevcuttu bunları hepimiz biliyoruzdur. Fakat bunu nasıl yapıyorlar merak edenlerimiz varsa Caner arkadaşım blog unda çok güzel anlatmış.
Aslına bakarsanız çok basit, birkaç satır kod ile yapılıyor bu işlem. Sanıldığı kadar kafa karıştırıcı bişey değil.
Vakit bulursam resim üzerine mükemmel işler yapan bir bileşenide buradan sizlere anlatıcağım. Tek satır kodla resim üzerine neler yapıldığını görünce hayretler ediceksiniz
Neyse biz egonomik'in yazdığı bu kodu inceleyelim. Gerçi herşeyi kodların içerisinde anlatmış pek söylenecek laf yok
<?php // PHP Resim Üzerine Yazı Yazma // Herhangi bir resim üzerine yazı yazabilirsiniz. // Caner ÖNCEL - http://www.egonomik.com // Kullanım: // Yazılmak istenen metni $_GET ile çağırıyoruz // Örnek: resimyaz.php?text=Merhaba Dünya $resim = "bg_resim.png"; // Üzerine yazılacak resmi seçiyoruz $font = "fonts/segoepr.ttf"; // Font dosyası ve yolunu tanımlıyoruz $golge = "true"; // Resme gölge eklemek istiyosanız "true" istemiyorsanız boş $text = $_GET['text']; if(empty($text)) { $metin = "Metin yazin!"; } else { $metin = "$text"; } header('Content-type: image/png'); $resim_yaz = imagecreatefrompng("$resim"); // Yazı ve gölgenin renk hex kodlarını belirliyoruz $gri = imagecolorallocate($resim_yaz, 170, 170, 170); $siyah = imagecolorallocate($resim_yaz, 0, 0, 0); if ($golge == "true") { imagettftext($resim_yaz, 16, 15, 59, 222, $gri, $font, $metin); } imagettftext($resim_yaz, 16, 15, 58, 221, $siyah, $font, $metin); imagepng($resim_yaz); imagedestroy($resim_yaz); ?>
Bu kodları bir form ile kullanarak hoş bir script ortaya cıkarmış caner.
<form action="resimyaz.php" enctype="application/x-www-form-urlencoded" method="get"> <input name="text" size="15" type="text" style="border: 1px solid #666666" onclick="this.value=''"/> <input type="submit" value="Resim yaz" /> </form>
Kodun çalışan örneği burada:
Scriptin hazır haline buradan ulaşabilirsiniz.
Kaynak: Egonomik
Php ile Dizin Listeletme
Php ile dizin listeleme işlerini nasıl yapıcağımıza göz atıcaz. Hatta burada istek doğabileceği düşüncesi ile bulunan dosyanın uzantısına göre bir resim ekleme işlemini nasıl yaparız buna da değinmek istedim.
<?php $dizin = opendir('./dosyalar'); if ($dizin){ while ($dosya = readdir($dizin)) { if($dosya=='.' OR $dosya=='..') {$dosya='';} if(!is_dir($dosya)){ $dosyalar[]=$dosya; } } } sort($dosyalar); $img = ""; foreach ($dosyalar as $dosyam) { $tur = explode(".", $dosyam); if(isset($tur["1"])) { if($tur["1"] == "evr") { $img = "<img src='img/ball_red.png' />";} if($tur["1"] == "css") { $img = "<img src='img/ball_yellow.png' />";} if($tur["1"] == "psd"){ $img = "<img src='img/ball_green.png' />";} echo $img." ".$dosyam."\n"; } } ?>
Bu kodlar sayesinde dizinin içini listeletebiliyoruz. Bu kodun çalışan örneğine buradan bakabilirsiniz.
Anlaşılmayan yerleri yorum kısmından sorabilirsiniz. Kolay gelsin
Tarayıcı Diline Göre Dil Secme – Çoklu Dil Desteği
Turk-php de konu geçince burada minik bi örnek hazırlayıp ekran cıktılarının nasıl olduğunu göstermek istedim. Burada yapacağımız iş gelen kullanıcının tarayıcı dilini bulma. Bunu bulduktan sonra dil dosyasını çektiricez yada o dil ile yapılmış kısma yönlendiricez.
<?php /** * @author evrenweb * @copyright 2009 */ echo "Bu server değişkeninin çıktısı: <b>".$_SERVER['HTTP_ACCEPT_LANGUAGE']."</b>"; $Langue = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'],0,2); echo "Bu arınmış hali: <b>".$Langue."</b>"; ?>
Burada gerekli değişkeni inceledik, bizim işimize yarıyacak kısmı çektik. Ben neyin ne olduğunu anlamanız açısından fazalaca ekran çıktısı kullandım. Bundan sonra iş mantık kontrollerine geliyor. Eğer $langue değeri "tr" ise türkçe dil dosyasını çek gibi ifadeler ile işimizi halledebiliriz.
Kodun çalışan örneğini buradan görebilirsiniz.
Turk-Php.Com Yenilikler ile geliyor
Evet arkadaşlar biliyorsunuz zaman problemleri yüzünden bir süreliğine türk-php kapanmıştı. Olaya el atan girişken cemal ve samet arkadaşlarımız türk-php yi yeniden hayata döndürme çabalarına başladı.
Tabiki bende site açılır açılmaz aktifliğimi korudum. Bu arkadaşların kim olduğunu merak edip tanıştım. Neyse bunlar özel mevzular. Fazla girmeye gerek yok. Gelelim yeni yönetimin adımlarına, atılımlarına. (Nasılda kestirdim ama
)
Öncelikli olarak türk-php nin görünümü %200 değişicek. Daha etkileyici, çekici bi şekilde türk programcıların karşısına çıkıcak. Dahası benim düşündüğüm ve kesinlikle hayata geçirmek istediğimiz bir proje var. Nazar ve rakip kuruluşlar dolayısı ile açıklamak istemiyorum şimdilik. Hayata geçtiğinde altında benim imzamı görebileceksiniz.
Önümüzdeki 1 yıl içerisinde bütün adımları başarılı bi şekilde atmayı umuyoruz. Sizlerinde projeleriniz, önerileriniz varsa bi şekilde paylaşırsanız seviniriz.
Biliyorum cümleler saçma sapan oldu ama saatin 5 inde de oluyor bu kadar mazur görün
Türk-php yi kesinlikle takip etmenizi öneriyorum! Zamanı gelince ŞAŞIRACAKSINIZ !









