برای قسمت دانلود کتاب سایتم کد را بدین صورت نوشتم
من میخواهم فقط کاربرانی که عضو سایت هستند بتوانند کتابها را دانلود کنند چگونه این کد را تغییر بدم
[PHP]<html>
<body>
f="#">Download</a></strong></font></div>
</td>
</tr>
<tr>
</body>
</html>[/PHP]
Printable View
برای قسمت دانلود کتاب سایتم کد را بدین صورت نوشتم
من میخواهم فقط کاربرانی که عضو سایت هستند بتوانند کتابها را دانلود کنند چگونه این کد را تغییر بدم
[PHP]<html>
<body>
f="#">Download</a></strong></font></div>
</td>
</tr>
<tr>
</body>
</html>[/PHP]
نباید انتظار داشته باشید که این پست پاسخی داشته باشه !
حالا مشکلتون یا سئوالتون چیه ؟
برای قسمت دانلود کتاب سایتم کد های html آن را نوشتم و با download .htmlذخیره کردم من میخواهم اگر کاربران عضو سایت روی دانلود کلیک کردند بتوانند فایلها را دانلود کنند وگرنه پیغام (لطفا در سایت عضو شوید)را به کاربر مهمان نشان بده
[HTML]<html>
align="center"><font size="2">بشیری</font></div>
</td>
< </tr>
</tbody></table>
</div></table>
نقل قول:کد:http://www.bigresource.com/PHP-Creating-link-to-file-or-temp-file-for-user-download-ZQNPr6kV.html
برای قسمت download.phpکد را بدین صورت تغییر دادم
="cent <td>
<div alignody></table>
</form>');
}
?> [/PHP]حالا وقتی روی تب دانلود کتاب کلیک میکنم یک فایل دانلود میشه چگونه این کد را تغیبر دهم تا فایلهای که درون پوشه pdfریختم دانلود بشه
به جاش اینو بذارکد:<?php
session_start();
$file = $_GET['file'];
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=". $file);
readfile($file);
?>
کد:<?php
session_start();
$file = "/pdf/".$_GET['file'];
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=". $file);
readfile($file);
?>
همان مشکل وجود دارد یک فایل pdf خالی دانلود میشه
چه لینکی میزنی که فایل خالی دانلود میکنه؟
وقتی روی تب دانلود کتاب کلیک میکنم لینکهای دانلود به من نشان نمیده ویک فایل خالی دانلود میشه
من فکر نمیکنم روشی که داری استفاده میکنی درست باشه
تگ <form> رو بردار
به جای # واسه لینک هات لینک اینجوری بذار
download.php?file=esme file
به حای esme file باید اسم دقیق فایلی که تو پوشه pdf هست را قرار بدی
اول download.php این کدو قرار بده
کد:<?php
session_start();
if(isset($_GET['file'])){
$file = "/pdf/".$_GET['file'];
header("Content-type: application/pdf");
header("Content-Disposition: attachment; filename=". $file);
readfile($file);}
?>
ممنون از راهنماییتان یک سری دستورات به کد اضافه کردم اما وقتی روی دانلود کلیک میکنم مرورگر این خطاها را به من ام میباشد]این هم خطاهای مرورگر
Warning: file_get_contents(pdf/file_name) [ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ]: failed to open stream: No such file or directory in C:\wamp\www\4\download.php on line 91
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 93
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 94
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 95
شما نباید قبل از کد header خروجی داشته باشی
echo('<form action="logout.php" method="post" class=" dir">
<br/>
<div align="center"> <input type="submit" value="خروج" class="button" /></div></form>');
این قسمت کد باعث خطا میشه
---------- Post added at 07:29 PM ---------- Previous post was at 07:29 PM ----------
دو تا echo ی اولو پاک کن
با پاک کردن دوتا echo باز هم مرورگر خطا میدهد
Warning: file_get_contents(pdf/file_name) [ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ]: failed to open stream: No such file or directory in C:\wamp\www\4\download.php on line 84
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 86
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 87
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 88
اگر کسی به سوالم جواب بده ممنون میشم
دوست عزیز دیگه این چیزیه دیگران نمیتونن کمک کنن
الان مقدار متغیر file$ درست نیست و به جای اسم فایل file_name مقدارشه
بگرد ببین مشکل کجاست
یا به یه نفر که این کارست دسترسی بده برات انجام بده
نمیدانم چکار کنم با این کد؟
[PHP]if($_SESSION['username']){
$con=mysql_pconnect("localhost","root","");
name=$file");
header("content-type:$type");
header("content-length:$size");
echo $data;
}else
echo "file mojod nemibashad";
}else
لطفا راهنمای کنید
دوست عزیز من کدو تست کردم کاملا سالمه
میشه لینک بدی ببینم چشه؟
این کد download.phpاست
[PHP] <?php
sesssion_start();
if($_SESSION['username']){
$con=mysql_pconnect("localhost","root","");
mysql_select_db("register",$con);
$result=mysql_query("select 'file_name' from `pdf` where `file_id`='".(int)$_GET['id']."'")or die(mysql_error());
if(mysql_num_rows($result)>0){
$row=mysql_fetch_assoc($result);
$file=$row['file_name'];
$type="application/pdf";
$data=file_get_contents("pdf/".$file);
$size=strlen($data);
header("content-disposition:attachment; filename=$file");
header("content-type:$type");
header("content-length:$size");
echo $data;
}else
echo "file mojod nemibashad";
}else
echo('
<br/>
<div align="center" class=" bg-text1" > برای دانلود کتاب لطفا در سایت ثبت نام کنید </div>
<br/>
<a href="register.html" ><div align="center" class="">عضویت در سایت </a></div>
');
?> [/PHP]
اینهم کد صفحه ای که لینک دانلود در آن میگذارم
[PHP]<p align="center">
<table border="1">
<tbody><tr>
<td>
<p align="center"><strong>ردیف</strong></p>
</td>
<td>
<p align="center"><strong>نام کتاب</strong></p>
</td>
<td>
<p align="center"><strong>نویسنده</strong></p>
</td>
<td><strong>زبان</strong></td>
<td><strong>فرمت</strong></td>
<td>
<p align="center"><strong>حجم</strong></p>
</td>
<td>
<p align="center"><strong>دریافت</strong></p>
</td>
</tr>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">
<div align="center"><font size="2">1</font></font></font></div>
</font></font></font></div>
</td>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">آموزشflash</font></font></font></div>
</td>
<td>
<div align="center"><font size="2"></font></div>
<div align="center">مولاناپور</div>
</td>
<td><font size="2"><font size="2">
<div align="center">انگلیسی</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">pdf</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">3.28MB</div>
</font></font></td>
<td>
<div align="center"><font size="2"><strong><a linkindex="158" href="download.php?id=2">Download</a></strong></font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">
<div align="center"><font size="2">2</font></font></font></div>
</font></font></font></div>
</td>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">آموزش3dsmax</font></font></font></div>
</td>
<td>
<div align="center"><font size="2">علوی</font></div>
</td>
<td><font size="2"><font size="2">
<div align="center">فارسی</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">pdf</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">8.28MB</div>
</font></font></td>
<td>
<div align="center"><font size="2"><strong><a linkindex="158" href="download.php?id=1">Download</a></strong></font></div>
</td>
</tr>
</tbody></table>
</div></table> [/PHP]
مرورگر این خطاها را نبه من نشان میده
این هم export میباشدکد:Warning: file_get_contents(pdf/file_name) [ [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ] ]: failed to open stream: No such file or directory in C:\wamp\www\4\download.php on line 82
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 84
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 85
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\4\download.php:19) in C:\wamp\www\4\download.php on line 86
کد:Database: `register`
--
-- --------------------------------------------------------
--
-- Table structure for table `pdf`
--
CREATE TABLE `pdf` (
`file_name` varchar(30) NOT NULL,
`file_id` varchar(30) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `pdf`
--
INSERT INTO `pdf` (`file_name`, `file_id`) VALUES
('php.pdf', '1'),
('flash.pdf', '2');
اینجا کسی نیست مشکل من برطرف کنه!!!!!!!
دوست عزیز میشه فایلهایی که داری و ضمیمه کنی؟
چون من نمیتونم اینجوری کمکت کنم
این کد download.php
[PHP]<?php
sesssion_start();
if($_SESSION['username']){
$con=mysql_pconnect("localhost","root","");
mysql_select_db("register",$con);
$result=mysql_query("select 'file_name' from `pdf` where `file_id`='".(int)$_GET['id']."'")or die(mysql_error());
if(mysql_num_rows($result)>0){
$row=mysql_fetch_assoc($result);
$file=$row['file_name'];
$type="application/pdf";
$data=file_get_contents("pdf/".$file);
$size=strlen($data);
header("content-disposition:attachment; filename=$file");
header("content-type:$type");
header("content-length:$size");
echo $data;
}else
echo "file mojod nemibashad";
}else
echo('
<br/>
<div align="center" class=" bg-text1" > برای دانلود کتاب لطفا در سایت ثبت نام کنید </div>
<br/>
<a href="register.html" ><div align="center" class="">عضویت در سایت </a></div>
');
?> [/PHP]
این هم کد لاگین
[PHP]<?php
session_start();
if(isset($_POST['username']))
{
$con = mysql_connect("localhost","root","");
if(!$con)
{
die('could not connect');
}
mysql_select_db("register",$con);
$username = addslashes($_POST['username']);
$password = md5($_POST['password']);
$result = mysql_query("SELECT COUNT(*) FROM `users` WHERE `username`='$username' AND `password`='$password';");
if(!$result)
{
echo 'Could not run query: ' . mysql_error();
exit;
}
$row = mysql_fetch_row($result);
if($row[0] > 0)
{
$_SESSION['username'] = $username;
$_SESSION['password'] = $password;
echo $_SESSION['username']." خوش آمدی";
printf('<form action="logout.php" method="post" class=" dir">
<div align ="center"> <input type="submit" value="خروج" class="textbox" /></div>'); // exit;
}
elseif (empty($username )) {
printf('<div class=" bg-text1" >نام کاربری و کلمه عبور را وارد کنید</div>');
printf('<form action="login.php" method="post" class=" " >
<div class="dir"> نام کاربری:<input type="text" name="username" value="" size="20" class="textbox" /></div>
<div class="dir">رمز عبور: <input type="password" name="password" value="" size="20" class="textbox" /></div>
<div align="center"> <input type="submit" value="ورود" class="button" /></div>
</form>');
}
else
{
printf('<div class=" bg-text1" >نام کاربری یا کلمه عبور اشتباه می باشد</div>');
printf('<form action="login.php" method="post" class=" " >
<div class="dir"> نام کاربری:<input type="text" name="username" value="" size="20" class="textbox" /></div>
<div class="dir">رمز عبور: <input type="password" name="password" value="" size="20" class="textbox" /></div>
<div align="center"> <input type="submit" value="ورود" class="button" /></div>
</form>');
}
}?> [/PHP]
اینهم کد صفحه ای که لینک دانلود در آن میگذارم
[PHP]<p align="center">
<table border="1">
<tbody><tr>
<td>
<p align="center"><strong>ردیف</strong></p>
</td>
<td>
<p align="center"><strong>نام کتاب</strong></p>
</td>
<td>
<p align="center"><strong>نویسنده</strong></p>
</td>
<td><strong>زبان</strong></td>
<td><strong>فرمت</strong></td>
<td>
<p align="center"><strong>حجم</strong></p>
</td>
<td>
<p align="center"><strong>دریافت</strong></p>
</td>
</tr>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">
<div align="center"><font size="2">1</font></font></font></div>
</font></font></font></div>
</td>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">آموزشflash</font></font></font></div>
</td>
<td>
<div align="center"><font size="2"></font></div>
<div align="center">مولاناپور</div>
</td>
<td><font size="2"><font size="2">
<div align="center">انگلیسی</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">pdf</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">3.28MB</div>
</font></font></td>
<td>
<div align="center"><font size="2"><strong><a linkindex="158" href="download.php?id=2">Download</a></strong></font></div>
</td>
</tr>
<tr>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">
<div align="center"><font size="2">2</font></font></font></div>
</font></font></font></div>
</td>
<td>
<div align="center"><font size="2"><font color="#000000" face="Tahoma"><font face="Tahoma">آموزش3dsmax</font></font></font></div>
</td>
<td>
<div align="center"><font size="2">علوی</font></div>
</td>
<td><font size="2"><font size="2">
<div align="center">فارسی</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">pdf</div>
</font></font></td>
<td><font size="2"><font size="2">
<div align="center">8.28MB</div>
</font></font></td>
<td>
<div align="center"><font size="2"><strong><a linkindex="158" href="download.php?id=1">Download</a></strong></font></div>
</td>
</tr>
</tbody></table>
</div></table> [/PHP]
دوست عزیز وقتی شما چیزی که ازتون میخوام نمیذاری چطور میتونم کمکت کنم؟
توی ارورا میگه خط 82 فایل download.php ولی این کدی که شما از download.php گذاشتی زیر 40 خط کد داره
ازت خواستم کل فایل download.php را ضمیمه کن تا ببینم مشکل چیه
اگه یه بار دیگه کد خالی بذاری شرمندت میشم دیگه جواب نمیدم
وقتی فایل دانلود شده باز میکنم ایت پیغام را به من نشون میده
adobe reader could not open'php.pdf'because it is either not a supported file
type or because the file has been damaged(for example ,it was sent as an email attacjhment and wasn't correctly decoded)
شما هم همه رو با خودتون درگیر کردید. هر فرومی دیدید که در رابطه با برنامه نویسی php هست اونجا همچین تاپیکی زدید. جالب اینجاست که از این همه راهنمایی که در جاهای مختلف شدید هنوز نتونستید مشکل خودتون رو حل کنید! نمی دونم چی بگم.
ولی شما یک کاری کنید تمامی فایلهای مورد نیاز ( پوشه ها و فایل pdf ) رو داخل فایل زیپ و یک جا آپلود کنید تا بهتون کد آماده رو تحویل بدیم.
تمامی مشکل شما بر میگرده به این قسمت که گویا شما هنوز درک کاملی از این عبارتها و دستورها ندارید:
[PHP]
$file=$row['file_name'];
$type="application/pdf";
$data=file_get_contents("c:/wamp/www/4/pdf/php.pdf".$file);
$size=strlen($data);
header("content-disposition:attachment; filename=$file");
header("content-type:$type");
header("content-length:$size");
[/PHP]
اگر تونستید مشکل خودتون رو حل کنید که چه بهتر اگر هم نه که همون کاری رو که گفتم انجام بدید.
شرمنده حالا بگید خطای این فایل دانلود شده از کجاست
وقتی فایل دانلود شده باز میکنم ایت پیغام را به من نشون میده
adobe reader could not open'php.pdf'because it is either not a supported file
type or because the file has been damaged(for example ,it was sent as an email attacjhment and wasn't correctly decoded
من از کی تا حالا دارم بهش میگم بابا کد download.php رو بذار ببینم باز یه تیکه کد download.php رو گذاشته بعدم آخر سر میگه این کدی که گذاشته بین تگ html بودهنقل قول:
من که خسته شدم دیگه جوابی هم نمیدم
ممنونم دوست عزیز
لطفا این کد را بران تحلیل کنید
[PHP]if(mysql_num_rows($result)>0){
$row=mysql_fetch_assoc($result);
$file=$row['file_name'];
$type="application/pdf";
$data=file_get_contents("pdf/".$file);
$size=strlen($data);
header("content-disposition:attachment; filename=$file");
header("content-type:$type");
header("content-length:$size");
echo $data;[/PHP]
اگر اسم فایل در دیتابیس موجود باشه . از پوشه pdf اونو میخونه و چاپ میکنه .
(دانلود فایل pdf)
من میدونم این کد کارش دانلود pdfاز پوشه pdf ،اگر نام آن در پایگاه داده باشه
لطفا بگید هر کدوم از این دستورات چکار میکنه
1- چک میکنه که تعداد ردیف های پیدا شده توسط کوئری اجرا شده بیشتر از صفر باشهنقل قول:
2- ردیف پیدا شده رو به صورت آرایه توی یه متغیر row$ میریزیم
3- توی file$ مقدار ستون file_name ردیف پیدا شده را میریزیم
4- نوع فایل خروجی
5- گرفتن محتوای فایل
6- گرفتن اندازه فایل
7- مشخص کردن نام فایل خروجی
8- مشخص کردن نوع فایل خروجی
9- مشخص کردن اندازه فایل خروجی
10- ارسال فایل خروجی