PDA

View Full Version : پاک کردن یک عکس از سرور به وسیله php



hamidhas1367
جمعه 09 آذر 1397, 18:24 عصر
با سلام
داخل این php من میخوام یه id رودریافت کنم ، وبعد از دریافت، آدرس عکس مربوط به اون id رو از دیتابیس بگیرم و پاکش کنم، دستوراتی که نوشتم در زیر اومده، ولی فایل پاک نمیشه

شرح کدها : آدرس متناظر با آی دی درست دریافت میشه که مشابه اینه:
http://bestabsd.com/bestfile/pics/jan18-11-28-20-46-36.jpg

که من بخش های اضافه ش رو حذف کردم و فقط رو
jan18-11-28-20-46-36.jpg

داخل یه فایل میریزه، حالا باید این اسم رو داخل پوشه ای که مشخص کردم پاک کنه، که پاک نمی کنه


function delete(){

$connection = connectToDatabase();
$ID = $_REQUEST['ID'];

if($ID!==""){


$result1 = mysqli_query($connection,"select Img1 from banners where ID='$ID' ");
$row = mysqli_fetch_array($result1);
$namefile1 = $row[0];
$namefile11=str_replace("http://bestabsd.com/bestfile/pics/", "", $namefile1);
$base_directory = '/public_html/bestfile/pics/';
unlink($base_directory.$namefile11);

mysqli_close($connection);

}else {
print "null";
}

xoogle.ir
جمعه 09 آذر 1397, 22:35 عصر
سلام دوست عزیز

برای حذف کردن فایل باید مسیر کامل فایل رو بدین. فولدر public_html معمولا داخل فولدر دیگه ای هست مثل /home/your_username قرار داره.
برای گرفتن مسیر کامل فعلی اسکریپت میتونید از کد زیر استفاده کنید.

dirname(__FILE__)
یا کد زیر

__DIR__

hamidhas1367
جمعه 09 آذر 1397, 22:41 عصر
با آدرس کامل هم قرار دادم بازم پاک نشد

zamanphp
دوشنبه 12 آذر 1397, 14:28 عصر
$filename = basename($namefile1);
$targetFile = __DIR__ . '/bestfile/pics/'. $filename;
if(file_exists($targetFile)) {
unlink($targetFile);
}
با این فرض که فولدر حاوی عکس در کنار اسکریپت php هست