unlink () php dosya silme

nssasmaz Nursin Şaşmaz Avatar

Arkadaşlar PHP de dosya oluşturma kontrol etme yazma işlemleri tamamdır. Fakat ya dosyayı silme. Şimdi bunun için yine PHP nin kolaylıklarından biri olan unlink() fonksiyonunu inceliyeceğiz.

Fonksiyon Şöyle Çalışır :

<?php
    unlink("yazilar.txt");
    echo "yazilar.txt dosyası silinmiştir.";
?>

Kodumuzun çalıştığı php sayfasının bulunduğu klasörün içindeki yazilar.txt dosyası silinir ve yazilar.txt dosyası silinmiştir. diye bir ikazıda ekrana yazdırır.

bir üst klasör veya bir alt klasörden dosyalar silelim :

<?php
    unlink("../ust-klasorden-yazi.txt");;
    echo "ust-klasorden-yazi.txt dosyası silinmiştir.<br>";

    unlink("alt-klasor/alt-klasorden-yazi.txt");
    echo "alt-klasorden-yazi.txt dosyası silinmiştir.<br>";
?>

Çıktısı :

ust-klasorden-yazi.txt dosyasi silinmiştir.
alt-klasorden-yazi.txt dosyasi silinmiştir.

 

Veriğimiz örneklerde sadece TXT sildik fakat bu fonksiyon ile resimler ve diğer dosyalarda silinebilir.

Gitme vakti gelince gitmek mi zordur kalmak mı?
03-02-2010 03:42

    soru

    hocam örneğin websitemzin admin panelinden bir dosya sildik

    alttaki gibi

    <?php
        unlink("../ust-klasorden-yazi.txt");;
        echo "ust-klasorden-yazi.txt dosyası silinmiştir.<br>"
    ?>

    silme işlemini yazdırıken  hep aynı satır çıkacak

    ust-klasorden-yazi.txt dosyası silinmiştir.  ´die

    bizbunu echo´ya silinen dosya ismini otomatikmen nasıl yazdıra biliriz. yani hiç bir şekilde echoya birşey yazmican tıpki değişkendeki gibi sadece orya değişken isminimi yazıcağız yoksa başka bir işlemmi yapmak lazım?

     

     

     

     

    03-02-2010 19:24

      sil

      silinecek dosyayı değişkene koymak daha mantıklı:

      $dosya="silinecek.txt";


      if(file_exists($dosya))
      {
          unlink($dosya);
          echo $dosya ,"silindi";
      }else{
          echo "bu isimde bir dosya yok:".$dosya;
      }

      Her programcı birgün Php yi tadacaktır
      03-02-2010 19:56

        zehra zehra sygl

        merhaba php de eski konu bu fakat merak ettm , peki bu silme işlemini klasörden resimleri tek tek silmek istediğimzde nasıl yapıyoruz ?

        mysql kullanmadan dirk silmek ??

         

        ilginz için teşekürler..

        25-10-2011 15:49

          cvp

          drekon hocam işte demek istediğim tam olarak buydu tamda tahmin ettimğimgibi cok teşekkürler smiley

          03-02-2010 20:10

            royiv24 Doğan Can SERTTAŞ
            Yazan:drekon

            silinecek dosyayı değişkene koymak daha mantıklı:

             

            $dosya="silinecek.txt";


            if(file_exists($dosya))
            {
                unlink($dosya);
                echo $dosya ,"silindi";
            }else{
                echo "bu isimde bir dosya yok:".$dosya;
            }

             hocam ben resim upload sistemi ekliyorum da siteme aşağıda kodlarım var ve silme işlemini yapamadım MySQL olsa sorun yok ama işte klasörden sildiremedim linkli olarak. Değişken ile resimleri çekiyorum dosyalar resimler klasörünün içinde ve $y olarak isimlerini çekiyorum silme işlemini link olarak nasıl hallederiz örn. kod bu;


            if($islem == "sil") {

            if(file_exists($y))
            {
                unlink($y);
                echo $y,"silindi";
            }else{
                echo "bu isimde bir dosya yok:".$dosya;
            }

            }


            $dizi  = array(); // yeni ve boş bir dizi değişkeni tanımlıyoruz.
            $dizim = "resimler"; // hangi dizinin dosyaları listelenecek?
            $ac    = opendir($dizim);

            // echo("<h2>$dizin Dizinindeki Tüm Dosyalar</h2>");

            # bütün dosyaları dizi değişkenine atıyoruz. bu işlemi yaparken,
            # bir üst dizini temsil eden "." ve ".." değerlerini bir if deyimi
            # yardımıyla dizi haricinde tutuyoruz.
            while($x=readdir($ac)) {
                if ($x != "." && $x != "..") {
                    $dizi[] = $x;
                }
            }

            sort($dizi); // dosyaları alfabetik sıraya alıyoruz.


            link ise dosya.php?islem=sil olacak ama devamını getiremiyorum. Yardımcı olursan sevinirim.

            Teşekkürler

            04-09-2010 03:29

              link

              theSinan Sinan AY

              while($x=readdir($ac)) {
                  if ($x != "." && $x != "..") {
                      $dizi[] = $x;
                 echo '<a href="dosya.php?islem=sil&dosya_adi='.$x.'>'.$x.'</a><br>';

              //-----bu şekilde dosyaları listeleyip link verebilirsin}
              }

               


                  }
               

               

              //bu durumda sorun çıkarmaması açısında

              if($islem == "sil") {

              $y=$_GET["dosya_adi"]; //------şeklinde yapmalısın

               

              if(file_exists($y))
              {
                  unlink($y);
                  echo $y,"silindi";
              }else{
                  echo "bu isimde bir dosya yok:".$dosya;
              }

              }

               

              06-09-2010 16:26 Edit:06-09-2010 16:35

                www.Phpkodlari.com © 2009 Herkes Php öğrenecek
                Web tasarım ve eğitim kaynağınız.