• 14-02-2010, 21:04:06
    #1
    Merhaba arkadaslar
    Hazır olan bir oyun scriptini ihtiyaclarıma gore editliyorum
    ve admin panelinde resim yuklemem lazım bunun için elimde aşagıdaki gibi bir sayfa var ve çalışıyor.

    Istegim ise;
    yuklenilecek resmin ismiyle başka bir resim varsa isme random sayı veya harf eklesin

    resimyukle.php

    <?php
    include("../ayarlar.php");
    if (empty ($_POST['gonder']) ) {
    ?>
    
    <center>
    <form action="<? echo $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="post">
    <table width="300px" border="0" cellpadding="2" cellspacing="1" style="background:#FFFFFF; font-family:Tahoma; font-size:8pt;">
    <tr>
    <td bgcolor="#DDDDDD" align="right"><b>Resim Seç:</b></td>
    <td bgcolor="#DDDDDD" align="left"><input type="file" name="images"></td>
    </tr>
    <tr>
    <td colspan="2" bgcolor="#DDDDDD" align="center"><input type="submit" name="gonder" value="Resmi Yükle"></td>
    </tr>
    </table>
    </form>
    </center>
    
    <?php
    }else{
    if(is_uploaded_file($_FILES['images']['tmp_name']))
    {
    if(move_uploaded_file($_FILES['images']['tmp_name'],"../oyunresim/".$_FILES['images']['name']))
    {
    $url="oyunresim/".$_FILES['images']['name']."";
    echo "<div style='font-family:Tahoma; font-size:8pt;'>Yüklenen resim<br> <b>$siteadresi/".$url."</b><br> Şeklinde kayıt edildi.<br><br>Yukardaki adresi kopyalayıp oyun ekleme panelinde ilgili yere yapıştırın</div><br> 
    \n";
    }
    else
    {
    echo "hata oldu";}}}?>
    
    <title>Resim yükleme</title>
  • 14-02-2010, 21:08:32
    #2
    Üyeliği durduruldu
    en basitiyle md5(time())
  • 14-02-2010, 21:17:12
    #3
    Kimlik doğrulama veya yönetimden onay bekliyor.
    $radi= substr(uniqid(md5(rand())), 0,20);

    20 hanelı eşsiz yani unique bir ad oluşturur
  • 14-02-2010, 21:29:41
    #4
    ilginiz için tşk ettim
    artunç arkadaşımız sayesinde sorunu hallettim

    Şu kısmı
    if(move_uploaded_file($_FILES['images']['tmp_name'],"../oyunresim/".$_FILES['images']['name']))
    Şununla degiştirdim
    $random = rand(1,9999);
    if(move_uploaded_file($_FILES['images']['tmp_name'],"../oyunresim/".$random."".$_FILES['images']['name']))
    Öğrenmek için soruyorum eger uzantı kontrolu yaparsak ne yapmamız lazım
    yani jpg, gif, png uzantılı resimler eklensin bmp vs.. eklenmesin

    Kod üzerinde alıntı yaparak gösterirseniz sevinirim
    Iyi çalışmalar..
  • 14-02-2010, 21:36:04
    #5
    örnek:

    $kaynak		= $_FILES["images"]["tmp_name"];
    $resimadi	= $_FILES["images"]["name"];
    $resimtipi	= $_FILES["images"]["type"];
    $resimboyut	= $_FILES["images"]["size"];
    $hedef		= "yuklenen";
    $radi		= substr(uniqid(md5(rand())), 0,20);
    $ruzanti	= substr($resimadi, -4);
    $yeniad		= $radi.$ruzanti;
    if(($resimtipi!="image/png") && ($resimtipi!="image/x-png") && ($resimtipi!="image/jpeg") && ($resimtipi!="image/bmp") && ($resimtipi!="image/gif") && ($resimtipi!="image/pjpeg")){
    	echo "Yüklemeye çalıştıgınız dosya resim dosyası değil.<br>
    	<meta http-equiv='refresh' content='1;URL=javascript:history.back(1);'>";
    	exit();
    
    	}
  • 14-02-2010, 22:20:36
    #6
    tşk ettim bu paylaşım bilgilerime katkıda bulundu
    iyi çalışmalar
  • 14-02-2010, 23:15:59
    #7
    Bir konuda söylemek istediğim bir olay var öncelikle..

    Twinsens arkadaşımızın vermiş olduğu kodda şöyle bir düzeltme yaparsak sanırım daha faydalı olacaktır. Kendisi dosya uzantılarını

    $ruzanti    = substr($resimadi, -4);
    şu kodla almaktadır. Fakat .jpeg gibi bir dosya uzantısı olursa yada .docx gibi uzantılar olursa sistem yanlış algılar ve uzantısını tam elde edemeyiz bunun yerine

    $ruzanti = end(explode(".",$resimadi));
    yaparsak bize kesin uzantıyı vermiş olacaktır