السلام عليكم
معليش على التأخير اخوي...سؤال بسيط اخوي...هل تقوم بتخزين كامل الملف في قاعدة البيانات ام فقط اسم الملف...
مثال يوضح كيفية الحصول على الملف الذي قمنا بحفظه في قاعده البيانات سابقا....احب ان انوه اني في الكود السابق قد حفظت كامل الملف في قاعدة البيانات
كود PHP:
<?php
// قم بتخزين رقم الملف
$file_id = int ( $_GET ['file_id'] );
// قم بالاتصال بقاعدة البيانات
$myDb = mysql_connect ( 'localhost', 'root', '' );
@mysql_select_db ( 'project', $myDb );
// احصل على معلومات الملف من قاعدة البيانات
$query = "SELECT `mime`, `name`, `size`, `data`
FROM `file`
WHERE `id` = {$file_id}";
$result = mysql_query ( $query );
$rows_num = mysql_num_rows ( $result );
// تأكد من وجود نتيجة من الاستعلام السابق
if ($rows_num == 1){
// تفاصيل الملف
$row = mysql_fetch_assoc ( $result );
// قم يتحميل الملف
header ( "(anti-spam-(anti-spam-(anti-spam-content-type:))) " . $row ['mime'] );
header ( "Content-Length: " . $row ['size'] );
header ( "Content-Disposition: attachment; filename=" . $row ['name'] );
echo $row ['data'];
} else {
echo 'لايوجد ملف يطابق المعلومات المعطاه';
}
?>
بالنسبة اذا كنت تحفظ اسم الملف فقط فيجب اعطاء الاسم الكامل للملف بما فيها المجلد الذي تستخدمه لحفظ المعلومات. يعني مثلا لو قلنا ان الملف اسمه test.txt وتم رفعه في مجلد اسمه upload فيجب استخدام الداله file_get_contents كالتالي
كود PHP:
$row ['data'] = file_get_contents('upload/test.txt');
ان شاء الله اكون افدتك واي خدمه احنا حاضرين يالغالي