Şimdi Ara

PHP Takımı Resim Upload ver 1.0

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
18
Cevap
0
Favori
2.186
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba arkadaşlar bugün kendi hazırladığım upload scriptimi sizlerle paylaşmak istedim.

    PHP Takımı Resim Upload ver 1.0

    Özellikleri:
    1. Sadece resimleri yükler.
    2. Direk Link, Forum Linki 1, Forum Linki 2 linkleri kendiliğinden oluşturur.
    3. Tüm kodlar tek dosyada..
    4. Ayarları ve kullanımı basittir.
    5. Yüklemek istediğiniz resim dosyasının önüne birkaç karakter ekleyerek kayıt eder.
    6. Kod dosyanızın ismini kendiniz belirlersiniz. Belirlediğiniz isim ne olursa olsun (uzantısının .php olması şartıyla ) kod sorunsuz çalışacaktır.

    Kurulumu
    1. Notepad (notdefteri)'nni açın ve içine aşağıdaki kodları ekleyin.
    2. // Ayarlar başlığı altında bulunan ayarları sitenize göre uyarlayın.
    3. istediginizisim.php ismiyle kaydedin. Herhangi bir isim olabilir. Dosya uzantısının .php olması şartıyla...
    4. Scripti yüklediğiniz klasörün içinde resimler isminde bir klasör oluşturalım. Eğer farklı bir klasör ismi kullanmak istiyorsanız. Script kodlarımızın içinde yer alan ayarlar kısmında bunu belirleyebilirsiniz.

    Emeğe Saygı !

    Örnek için tıklayın...

    Kodlar:
     
    <?php
    ####################################
    ######## www.phptakimi.com #########
    ####### Powered by phptakimi #######
    ####### zahir@hizmet.web.tr ########
    ######### 20 / 11 / 2006 ###########
    ####################################
    // Ayarlar
    $title = "PHP Takımı Resim Upload ver 1.0"; // Başlık
    $domain = "http://www.phptakimi.com"; // Site ismini girin. örn:http://www.phptakimi.com
    $klasor = "resimler/"; // Yüklenen resimlerin tutulacağı klasör ismi.
    $scriptyolu = "/ornekler/resimupload/"; // Scriptin yüklü olduğu klasör
    $rasgele = md5(microtime()); // rasgele sayı üretiyoruz.
    $yeniresim = $rasgele."_".$resim_name;
    $link = $domain.$scriptyolu.$klasor.$yeniresim;
    ?>
    <html>
    <head>
    <meta http-equiv=content-type content="text-html; charset=iso-8859-9">
    <meta http-equiv=content-type content="text-html; charset=windows-1254">
    <title><?=$title;?></title>
    </head>
    <body>
    <center>
    <form enctype="multipart/form-data" action="<?=$PHP_SELF;?>" method=post>
    <input type=hidden name="MAX_FILE_SIZE" value="1048288">
    <table border=0 align=center width=300>
    <tr>
    <td align=center><strong><?=$title;?></strong></th>
    </tr>
    <tr>
    <td align=center><input type=file name=resim></td>
    </tr>
    <tr>
    <td align=center><input type=submit name=gonder value="Dosya Yolla"></td>
    </tr>
    </table>
    </form>

    <?php
    echo "<script type=\"text/javascript\">\n";
    echo "\n";
    echo "function highlight(field) {\n";
    echo " field.focus();\n";
    echo " field.select();\n";
    echo "}\n";
    echo "</script>\n";
    if ($gonder == "Dosya Yolla" && $resim == ""){
    echo "<h2><font color=red>Dosya Seçilmedi!</font></h2>";
    }

    if ($resim != ""){
    if ($resim_type == "image/gif" || $resim_type == "image/jpeg" || $resim_type == "image/pjpeg" || $resim_type == "image/png" || $resim_type == "image/bmp"){ // Yüklenmesini istediğimiz dosya türlerini burada belirliyoruz...
    copy ($resim, $klasor.$yeniresim) or die ("Dosya kopyalanamıyor"); //Dosyamızı klasörümüze kopyalıyoruz.
    echo "<table align=center border=0>";
    echo "<tr><td align=right><b>Direk Link:</b></td><td align=left><input size=40 onClick='highlight(this);' type=text value=\"$link\"></td></tr>";
    echo "<tr><td align=right><b>Forum Linki 1:</b></td><td align=left><input size=40 onClick='highlight(this);' type=text value=\"[URL=$domain][IMG]$link[/IMG][/URL]\"></td></tr>";
    echo "<tr><td align=right><b>Forum Linki 2:</b></td><td align=left><input size=40 onClick='highlight(this);' type=text value=\"[url=$domain][img=$link][/img][/url]\"></td></tr>";
    echo "</table>";
    echo "<br><b>Yüklediğiniz Resim:</b><br><a href=\"$link\"><img border=0 src=\"$link\"></a>";
    }
    else {
    echo "<h2><font color=red>İzinsiz dosya türü</font></h2>";
    }
    }
    ?>
    <br><small>Bu script phptakimi tarafından yazıldı.<br><a href=http://www.phptakimi.com>www.phptakimi.com</a></small></center>
    </body>
    </html>



    < Bu mesaj bu kişi tarafından değiştirildi phptakimi -- 20 Kasım 2006; 17:39:37 >







  • PHP Takımı Resim Upload ver 1.0 'i indirmek için buraya tıklayın...
  • çok güzel denemem lazım az sonra çok teşekkürler
  • Sonradan farkına vardım ki foruma eklenince kodlarda değişiklik oluyor o yüzden indirme linki verdim.

    buradan indirin...
  • Eline sağlık. Ancak şunu belirtmek istiyorum. PHP tagları arasındaki veriler işlenir, diğerleri pas geçilir. Yani burda statik verileri echo ile yazdırmak tek sayfa olarak düşünüldüğünde sorun değil ancak yüzlerce kişi aynı anda bu sayfayı çağıracak olsa ciddi bir iş yükü getirir. Saygılar.
  • peki dosya upload için dosya uzantı yasağı nasıl koyabilirim.mesela gif,png yüklenmesin.
  • Şu kodları sil:

    gif için :
    quote:

    $resim_type == "image/gif" ||


    png için:
    quote:

    $resim_type == "image/png" ||
  • Script de ilk göze çarpan hata MAX_FILE_SIZE nin değiştirilebilir olması. Form daki bu bilginin var olması çok önemli değil. Önemli olan scriptin yüklenecek olan dosyanın boyutunu kontrol etmeden direkt olarak sunucuya kopyalaması. İlk denememde 2,5 mb lik bir resim dosyasını yükledim.
  • copy register_globals açıksa kullanılabilir + register global açıksa bazı açıklara sebeb olur.

    move_uploaded_file(); kullanmanızı öneririm.

    php manual:
    Note: As of PHP 4.3.0, both source and dest may be URLs if the "fopen wrappers" have been enabled. See fopen() for more details. If dest is a URL, the copy operation may fail if the wrapper does not support overwriting of existing files.
  • type leri array ile cagirmani ve dosyalarin kopyalanmasi degil tasinmasi icinde cera nin dedigi gibi move_uploaded_file kullanmani oneririm ...
  • quote:

    Orjinalden alıntı: gokhanweb

    Script de ilk göze çarpan hata MAX_FILE_SIZE nin değiştirilebilir olması. Form daki bu bilginin var olması çok önemli değil. Önemli olan scriptin yüklenecek olan dosyanın boyutunu kontrol etmeden direkt olarak sunucuya kopyalaması. İlk denememde 2,5 mb lik bir resim dosyasını yükledim.


    MAX_FILE_SIZE için değiştirilebilir demişsiniz ne şekilde ve ilk denemede 2,5 mblik resim yüklediğinizi belirtmişsiniz. 2,5 mb yüklenmiş resme rastlayamadım sunucumda. Nereye yüklediniz acaba ?
  • MAX_FILE_SIZE tarayıcıya gönderilen form içerisinde yer aldığı için kullanıcı bunu istediği gibi değiştirebilir.

    http://www.phptakimi.com/ornekler/resimupload/resimler/c5b3b74d4bf76e56c2f4d45c5dda9069_ppp.jpg

    Görüldüğü gibi 1.37mb`lik, üstelik resim olmayan bir dosyayi sistem kabul etti. Dolayısıyla sevgili üyelerimize kulak vermek lazım...


    Ha ne şekilde değiştirilir: ister php ile soket açar form, cookie, headerlar ile istediğim gibi oynarım ya da en basitinden sayfanı sağ tıklayıp kayıt eder, htlm kodundaki "<input type=hidden name="MAX_FILE_SIZE" value="1048288">" satırını tamamen kaldırıp değiştirilmiş formla istediğim boyutta resmi senin "http://www.phptakimi.com/ornekler/resimupload/index.php"`ine submit ederim...



    < Bu mesaj bu kişi tarafından değiştirildi Guest -- 22 Kasım 2006; 17:00:30 >




  • quote:

    Orjinalden alıntı: phptakimi


    quote:

    Orjinalden alıntı: gokhanweb

    Script de ilk göze çarpan hata MAX_FILE_SIZE nin değiştirilebilir olması. Form daki bu bilginin var olması çok önemli değil. Önemli olan scriptin yüklenecek olan dosyanın boyutunu kontrol etmeden direkt olarak sunucuya kopyalaması. İlk denememde 2,5 mb lik bir resim dosyasını yükledim.


    MAX_FILE_SIZE için değiştirilebilir demişsiniz ne şekilde ve ilk denemede 2,5 mblik resim yüklediğinizi belirtmişsiniz. 2,5 mb yüklenmiş resme rastlayamadım sunucumda. Nereye yüklediniz acaba ?




    sizin sunucunuza yüklemedim. kendi sunucuma yükledim.
    büyük dosya yüklemek isteyecek kişi formdaki MAX_FILE_SIZE değerini istediği gibi yapar ve <form action='http://www.phptakim.com/xxx' yaparak istediği boyuttaki dosyayı sizin sunucunuza yükleyebilir.




  • Önerileriniz için hepinize teşekkürler arkadaşlar.

    Versiyon 1.1 nihayet hazır...

    v1.0 > v1.1 Değişiklikler
    1. copy yerine move_uploaded_file komutu kullanıldı.
    2. Maximum yüklenebilir dosya boyutu değişkeninin formdan silinip php kısmında ayarlanabilir şekilde yeniden düzenlendi.
    3. register_globals değişkenleri güvenlik açısından tehlike arz ettiği için bir.ok sunucuda kapalı olduğundan gerekli değişkenler yeniden düzenlendi. Her tür sunucuda (register_globals açık veya kapalı hiç farketmez)
    çalışır hale getirildi.
    4. Resim yüklendikten sonra resmin altında resim boyutunun kb olarak yazılması sağlandı.

    Test: için buraya tıklayın...

    İndirmek için buraya tıklayın...




  • güzel çalışma
  • arkadaşlar söle bir hata veriyor nedeni nedir


    Warning: move_uploaded_file(resimler/16d556b1a233722cab75e6fec80baeab_): failed to open stream: Permission denied in /home/dijisun/public_html/index.php on line 74

    Warning: move_uploaded_file(): Unable to move '/tmp/phpalv17w' to 'resimler/16d556b1a233722cab75e6fec80baeab_' in /home/dijisun/public_html/index.php on line 74
    Dosya kopyalanamıyor
  • Gördüğüm kadarıyla editlenmiş. Editlerken hata yamış olabilirsiniz. Bu linkten scriptimizi indirip sadece gerekli ayarları yapıp tekrar yükleyin ve "index.php" dosyası ile "resimler" klasörünün chmod ayarlarını 707 olarak ayarlayın tekrar deneyin.
  • 707 cdmod verilince düzeldi tesekkür ederim usatam
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.