Türkiye'nin En Eski Webmaster Forumu İyinet'e Hoşgeldiniz!

Kayıt Ol

Dosya Silme Unlink Komutunu Çalıştıramadım

quardian

0
Üye
Katılım
18 Nisan 2012
Mesajlar
0
Tepki puanı
0
Konum
Elazığ
Arkadaşlar phpmi geliştirmek için ücretsiz dağıtılmış olan Emre Çetiner Emlak Yazılımı üzerinde editleme yapıyordum. Linklerini seo uyumlu linkler haline getirdim.Scriptin fotograf silme komutu doğru çalışmıyor ve ne denediysem yapamadım . Db den kaydı siliyor ancak serverdan dosyayı silmiyor.

Ayrıca açıkları var sanırım çünki geçen gün terör örgütü taraftarı lamerler sitenin anasayfasından başka bir linke yönlendirme yapmışlardı. Bütün dosyaları silip yeniden upload ettim.

Bu komut için iki dosya var bu dosyalar ve içerikleri şöyle

Fotosil.php
PHP:
  if (@$_GET['hedef'] == "fotosil") { 
        $id = $_GET[id];
        $eid = $_GET[eid];
                      
        mysql_query("DELETE from resimler where id = '$id'") or die ("Bir hata oluştu lütfen deneyiniz.");
        
        echo "";
        }
Fotoyukle.php nin ilgili kısmı
PHP:
<a class='thumbnail' href='#thumb'><img src='../emlakfoto/kucuk/".$sonuc['resim']."' height='100px' border='0' align='center' /><span><img height='400px' src='../emlakfoto/buyuk/".$sonuc['resim']."' /></span></div><center><a href='?hedef=fotosil&id=".$sonuc['id']."&eid=".$id."'><strong>Sil</strong></a></center></td>";
if (($i % $yan == 0)) {
echo '</tr></tr>';
}
}
echo '</tr></table>
 

quardian

0
Üye
Katılım
18 Nisan 2012
Mesajlar
0
Tepki puanı
0
Konum
Elazığ
Evet arkadaşlar sorunu çözdüm en azından belki birine faydası olur diye çözümü yazıyorum.
fotosil.php de düenlem yaptım şu an sorunsuz .
HTML:
<?php     
 if (@$_GET['hedef'] == "fotosil") { 
        $id = $_GET[id];
        $eid = $_GET[eid];
        
            $sql = "select * from resimler where id = '$id'";
        $qr = mysql_query($sql);
        $rs = mysql_fetch_array($qr);
        unlink("../emlakfoto/buyuk/".$rs['resim']."");
        unlink("../emlakfoto/kucuk/".$rs['resim']."");    
         
           
     mysql_query("DELETE from resimler where id = '$id'") or die ("Bir hata oluştu lütfen deneyiniz.");
        
        
        
        echo "<script>";
        echo "alert('İşleminiz Gerçekleşmiştir.');";
        echo "window.location='?hedef=fotoyukle&id=$eid'";
        echo "</script>";            
        
        }?>
 

onder

0
Üye
Katılım
13 Aralık 2012
Mesajlar
119
Tepki puanı
2
Konum
Fethiye
tecrübelerime göre resimleri emlağın id sine göre klasörlerde saklamak daha mantıklı oluyor.

şöyle bir klasör silme fonksiyonu var, çok işe yarıyor;

PHP:
function removedir($dir) {
    if(!$dh = @opendir($dir)) return;
    while (false !== ($obj = readdir($dh))) {
        if($obj=='.' || $obj=='..') continue;
        if (!@unlink($dir.'/'.$obj)) removedir($dir.'/'.$obj, true);
    }
    closedir($dh);
	@rmdir($dir);
}

tabiki .htaccess e klasörlerin listelenmesini engellemek için şu kodları eklemekte faydalı

Kod:
# disable directory browsing
Options All -Indexes
IndexIgnore *
 

quardian

0
Üye
Katılım
18 Nisan 2012
Mesajlar
0
Tepki puanı
0
Konum
Elazığ
tecrübelerime göre resimleri emlağın id sine göre klasörlerde saklamak daha mantıklı oluyor.

şöyle bir klasör silme fonksiyonu var, çok işe yarıyor;

PHP:
function removedir($dir) {
    if(!$dh = @opendir($dir)) return;
    while (false !== ($obj = readdir($dh))) {
        if($obj=='.' || $obj=='..') continue;
        if (!@unlink($dir.'/'.$obj)) removedir($dir.'/'.$obj, true);
    }
    closedir($dh);
	@rmdir($dir);
}

tabiki .htaccess e klasörlerin listelenmesini engellemek için şu kodları eklemekte faydalı

Kod:
# disable directory browsing
Options All -Indexes
IndexIgnore *
İlginiz için teşekküer ederi hocam , Güzel bir yyöntem ancak ben sorunu çözdüm ayrıca bu fonksiyonu kullanmaya kalkarsam diğer sayfalardada editleme yapmam gerekecek. Belki başka birinin işine yarar ilginiz için teşekkür ederim.
 
Üst