عن طريق استخدام الدالة header
يعني الآن ضع الروابط بدلالة ال id او اسم الملف كالتالي:
www.site_name.com/download.php?id=55
وتاتي بملف download.php وتضع الاوامر التالية:
كود PHP:
<?php
$id=$_GET['id'];
$select="select * from $table_name where id=$id";
$query=mysql_query($select);
$row=mysql_fetch_array($query);
$filename ="download/".$row[$table_file_name];
if( ! is_file($filename) || $filename[0] == '.' || $filename[0] == '/' )
die("Bad access attempt.\n");
header("Pragma: public");
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))) application/force-download");
header("(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))) application/octet-stream");
header("(anti-spam-(anti-spam-(anti-spam-(anti-spam-content-type:)))) application/download");
header("Content-Disposition: attachment; filename=".basename($filename).";");
header("Content-Transfer-Encoding: binary");
header("Content-Length: ".filesize($filename));
readfile("$filename");
exit();
?>
وتستبدل $table_name باسم الجدول المستخدم
في هذا السطر:
كود PHP:
$filename ="download/".$row[$table_file_name];
و تستبدل download بعنوان المجلد الذي يحتوي على الملفات المُراد تحميلها
وتستبدل $table_file_name بالحقل الذي به اسم الملف ذاته.
وسيعمل بنجاح ان شاء الله
هذا اذا كان بدلالة الاي بي
يمكن عمله بدلالة اسم الملف نفسه بحيث يكون كالتالي:
www.site_name.com/download.php?file=xxx.rar
وفي هذه الحالة ستضع في مجلد ال download.php
استبدل ال
كود PHP:
$id=$_GET['id'];
ب
كود PHP:
$file=$_GET['file'];
وفي الاستعلام استبدل السطر:
كود PHP:
$select="select * from $table_name where id=$id";
بالسطر التالي:
كود PHP:
$select="select * from $table_name where $table_file_name=$file";
مع استبدال $table_name باسم الجدول و $table_file_name باسم حقل الملف