PDA

View Full Version : سوال: در مورد دانلود فایل



soroush.r70
دوشنبه 26 دی 1390, 21:32 عصر
دوستان می خوام صفحه دانلود درست کنم می خوام وقتی فایلی داخل دیتابیس وجود داشت لینک دانلود ظاهر بشه در غیر این صورت اگه من یه صفحه ایجاد کردم فایل دانلود وجود نداشت فقط متن بود لینک دانلود مخفی بشه.

کسی از دوستان می تونه راهنمایی کنه

pejman_view
دوشنبه 26 دی 1390, 22:09 عصر
سلام

من فرض کردم که شما می خواهید از یک پارامتر برای بررسی کردن موجود بودن فایل در دیتابیس استفاده کنید. خیلی خوب فرض کنید یک پارامتر با روش GET بطول 6 کاراکتر دریافت می کنید و بررسی می کنید:

http://test.com/download.php?get=ABCDEF

به راحتی می توانید با یک دستور SELECT در دیتابیس ببینید که آیا فایل ABCDEF وجود دارد یا خیر اگر وجود داشت که یک دکمه دانلود برای دانلود فایل نمایش دهد. در غیر اینصورت پیامی حاوی خطا که چنین فایل وجود ندارد را نمایش دهد.

اگر مشکلی داشتید امر کنید تا کمکتان کنم.

با آرزوی موفقیت

H:Shojaei
سه شنبه 27 دی 1390, 02:59 صبح
سلام

من فرض کردم که شما می خواهید از یک پارامتر برای بررسی کردن موجود بودن فایل در دیتابیس استفاده کنید. خیلی خوب فرض کنید یک پارامتر با روش GET بطول 6 کاراکتر دریافت می کنید و بررسی می کنید:

http://test.com/download.php?get=ABCDEF

به راحتی می توانید با یک دستور SELECT در دیتابیس ببینید که آیا فایل ABCDEF وجود دارد یا خیر اگر وجود داشت که یک دکمه دانلود برای دانلود فایل نمایش دهد. در غیر اینصورت پیامی حاوی خطا که چنین فایل وجود ندارد را نمایش دهد.

اگر مشکلی داشتید امر کنید تا کمکتان کنم.

با آرزوی موفقیت
سلام دوست عزیز کد شما در این باره به db رجوع میکنه اگه متن داشت لینک میذاره اگه نداشت نمیذاره ولی اگر متن داشت و فایل در مسیر نبود چی
فکر کنم باید از تابع isset استفاده کنیم

soroush.r70
سه شنبه 27 دی 1390, 14:02 عصر
دوستان تمامی نظراتون کمک می کنه الان به نظر شما راهکار چیه به گفته شجاعی این راهکار select جور در نمی آد نظر شما در مورد روش های دگه چیه لطفا با سورس توضیح بدین

alonemm
سه شنبه 27 دی 1390, 14:51 عصر
باسلام:
خب شما آدرس فایل های دانلود رو داخل جدولی از پایگاه داده ذخیره میکنی در یک فیلد.
در موقع نمایش میتونی با تابع empty چکش کنی که خالی هست یا نه.

مثال:


<?php
$var = 0;

// Evaluates to true because $var is empty
if (empty($var)) {
echo '$var is either 0, empty, or not set at all';
}

// Evaluates as true because $var is set
if (isset($var)) {
echo '$var is set even though it is empty';
}
?>



منبع: http://php.net/manual/en/function.empty.php

alishmas
سه شنبه 27 دی 1390, 15:14 عصر
اگر مسیر را در دیتابیس ذخیره کردی , برای اطمینان بیشتر از وجود فایل می تونی از تابع () file_exists (http://php.net/manual/en/function.file-exists.php)به صورت زیر استفاده کنی.



filepath fetch from db$//
(if(file_exisit($filepath
}
{

H:Shojaei
سه شنبه 27 دی 1390, 15:19 عصر
سلام
فکر کنم باید بنویسیم:

<?php
$var = 0;
//$var=مسیر عکسها در db
if (!empty($var)) {
if (file_exisit($var)) {
//مسیر با لینک
}
}
?>

soroush.r70
چهارشنبه 28 دی 1390, 13:09 عصر
دوستان من به این صورت استفاده کردم ولی هم فایل خالی رو نشون می ده و هم لینک دانلود رو می خوام اگه فایل وجود داشت لینک نمایش بده و اگر نداشت هیچی نشون نده

$var = 0;

// Evaluates to true because $var is empty
if (empty($var)) {
echo 'فایل موجود نیست';
}

// Evaluates as true because $var is set
if (isset($var)) {
echo '<a href="upload/'.$row["file"].'" dir="rtl" style="font-size:14px; text-align:center; font-weight:bold;">این مقاله را دانلود کنید.</a>';
}

pejman_view
چهارشنبه 28 دی 1390, 15:26 عصر
سلام

امیدوارم تیکه کد زیر به دردتان بخورد.


<?php
$file = $_GET['file'];
$file = htmlentities($file);
$path = "folder1/folder2";
$download_link = $path.'/'.$file;
if (isset($file)){
if (@file_exists($download_link)){
echo '<a href=".'$_SERVER["HTTP_HOST"].'/$download_link"> Download </a>';
}else{
echo 'Sorry! Maybe due to violation rules, this file is removed.';
}
}else{
echo 'You must enter your file name.';
}
?>