unlink () php dosya silme.
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 :
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 :
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.
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?
sil
silinecek dosyayı değişkene koymak daha mantıklı:
if(file_exists($dosya))
{
unlink($dosya);
echo $dosya ,"silindi";
}else{
echo "bu isimde bir dosya yok:".$dosya;
}
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..
cvp
drekon hocam işte demek istediğim tam olarak buydu tamda tahmin ettimğimgibi cok teşekkürler
silinecek dosyayı değişkene koymak daha mantıklı:
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
link
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;
}
}
Php
Meraba ya benimde dosya silme işleminde sorunum var bana yardım eder misiniz ?
Dosyadan listelenen resimlerin yanında sil butonu olacak kullanıcı hangi resimi silmek istiyorsa yanındaki sil butonuna tıklayıp silecek ben listeleme falan o bölüme kadar yaptım ama silme işleminde hata veriyor çıkamadım işin içinden yardım ederseniz çok sevinirim
hata kodlarınızı falan paylasırsanız daha kolay aradagınız cevabı bulursunuz
Php
Bu form kısmı
<form action="" method="post" >
<input type="submit" name="resimsil" value="SIl" >
</form>
Buda php kısmı
if(isset($_POST["resimsil"]))
{
$dosyaadi = "../image/".$_POST["resimsil"];
if(@unlink($dosyaadi))
echo "Resim Silindi.";
else
echo "Resim Silinemedi";
}
Çalıştırdığımda Resim Silinemedi diyor ..