// Kontrol
$resimsilfile = '../../' . $resimsilunlink;
if( file_exists($resimsilfile) ){ // Dosya varligi kontrolu
    unlink($resimsilfile);
}else{
    echo 'Resim dosyası bulunamadı.';
    exit(); // Opsiyonel
}

// Güncel Koda Göre Metod
#__DIR__ => Mevcut php dosyasının bulunduğu klasör | dirname() => Belirtilen klasörün bir üst klasörü
$resimsildir    = dirname(dirname(__DIR__));
$resimsilunlink = '...jpg';
$resimsilfile   = $resimsildir . DIRECTORY_SEPARATOR . $resimsilunlink;

unlink($resimsilfile);



// Uygun Olan Metod
#Site baslangicinde tüm dosyalara etki edecek sabit olusturulur. Buna ek olarak surekli kullanilan alanlara da sabit olsuturulur.
# DIRECTORY_SEPARATOR => dizin ayracı (Slash - Egik Cizgi) | Windows Sistemde => "/" | Linux Sistemde "\"
define('ROOT'  , dirname(__FILE__)); // Ana index.php dosyasının bulundugu klasor adı
define('IMAGES', ROOT . DIRECTORY_SEPARATOR . 'uploads' . DIRECTORY_SEPARATOR); // Dosyaların upload edildigi kok dizin

$resim_adi = '...jpg';
$resim_dir = IMAGES . $resim_adi;
if( file_exists($resim_dir) ){
    unlink($resim_dir);
}else{
    echo 'Resim dosyası bulunamadı.';
    exit(); // Opsiyonel
}
Yukarıda ki örnekleri bilgi vermesi açısından paylaştım.
Dosya silme işleminde önce dosyanın varlığını kontrol etmeniz önemli. (file_exists() ile).
Sonrasında yazma-silme izinleri olmalı.
Bazı durumlarda herşey yolunda gözükse de dosya isminde geçen latin uyumluluğu olmayan bazı karakterler dosya silinmesini mümkün kılmamakata.
İlave olarak dosya dizini verirken html de oldugu gibi "../../" şeklinde yapmak soruna sebep olabilmekte. Hatta dirname(dirname(...)) şeklinde bile kullanmak sorun çıkarabilir. Bu iki yöntem de mevcut kodun yazılı olduğu dosyayı referans alamakta.