انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

نویسنده موضوع: کمک برای نوشتن یک کد php  (دفعات بازدید: 6562 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
کمک برای نوشتن یک کد php
« : 03 اسفند 1388، 01:06 ب‌ظ »
سلام
یه کد php می خوام که وقتی بهش ادرس یه فایلو می دیم اون رو دانلود کنه
هر کی می تونه کمک کنه
ممنون

آفلاین heresh

  • Hero Member
  • *
  • ارسال: 968
  • جنسیت : پسر
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #1 : 03 اسفند 1388، 01:12 ب‌ظ »

منبع
............
------------------------- ویرایش --------------------------

الان لینک منبع رو کلیک کردم بخاطر تحریم ایران اجازه دسترسی نداد و توهین هم کرد. واقعا آدم‌های بی‌شعوری هستن ............
« آخرین ویرایش: 03 اسفند 1388، 11:47 ب‌ظ توسط heresh »

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #2 : 03 اسفند 1388، 03:57 ب‌ظ »
واقعا ممنونم
ولی نمی دونم دقیقا چه جوری ازش استفاده کنم
چون من اصلا هیچی از php بلد نیستم
اگه می شه مرحمت کنید به من نحوه ی استفاده را بگید
ممنون

آفلاین heresh

  • Hero Member
  • *
  • ارسال: 968
  • جنسیت : پسر
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #3 : 03 اسفند 1388، 04:28 ب‌ظ »
واقعا ممنونم
ولی نمی دونم دقیقا چه جوری ازش استفاده کنم
چون من اصلا هیچی از php بلد نیستم
اگه می شه مرحمت کنید به من نحوه ی استفاده را بگید
ممنون

سلام
دوست عزیز دقیقا چی کار می‌خوای بکنی؟
تو به کامپیوتر سرور دسترسی داری؟
یا می‌خوای رو کامپیوتر خودت سکریپتی رو اجرا کنی که فایلی رو دانلود کنی؟

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #4 : 03 اسفند 1388، 04:54 ب‌ظ »
دبیرستان ما به هر نفر یه صفحه شخصی داده که هر کی می نونه هر چی می خواد آپلود کنه.
یکی از بچه ها کد phpرا آپلود کرده بود و  ان را اجرا می کرد و فایل های داده شده در php را دانلود می کرد.
ما به طور خودکار سرعتمون یک سوم سرعت سرور هست.اگه این phpکار کنه سرعت دانلودم 3 برابر می شود.اخه اینترنت خونمون فسیلیه.

آفلاین heresh

  • Hero Member
  • *
  • ارسال: 968
  • جنسیت : پسر
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #5 : 03 اسفند 1388، 05:17 ب‌ظ »
دبیرستان ما به هر نفر یه صفحه شخصی داده که هر کی می نونه هر چی می خواد آپلود کنه.
یکی از بچه ها کد phpرا آپلود کرده بود و  ان را اجرا می کرد و فایل های داده شده در php را دانلود می کرد.
ما به طور خودکار سرعتمون یک سوم سرعت سرور هست.اگه این phpکار کنه سرعت دانلودم 3 برابر می شود.اخه اینترنت خونمون فسیلیه.

خب از دوستت کد رو بگیر :)
خودم سعی می‌کنم بنویسمش، اگه نتونستم از یه سایت درست و حسابی واسط کد رو پیدا می‌کنم.
برای استفاده از کد‌ها فقط لازمه که اونها رو تو یه فایل با پسوند php. ذخیره کنی بعد آپلودش کنی

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #6 : 03 اسفند 1388، 05:31 ب‌ظ »
نمی ده
می ترسه تو مدرسه پابلیک شه.به من اعتماد نداره.در ضمن دوستم نیز نیست!1 سال از من بزرگتره نیز!
حالا باشه سیو می کنم.ادرس فایلو چه جوری بهش بدم(این پست را دارم قبل از اجرا می دم)

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #7 : 03 اسفند 1388، 05:37 ب‌ظ »
چی شد.
چرا کد ها رو برداشتی
ازش کپی ندارم

آفلاین heresh

  • Hero Member
  • *
  • ارسال: 968
  • جنسیت : پسر
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #8 : 03 اسفند 1388، 11:43 ب‌ظ »
چی شد.
چرا کد ها رو برداشتی
ازش کپی ندارم

بالا گفتم، سایت خوبی نبود.
این یه کد از یه سایت دیگه:
<?php
 
// place this code inside a php file and call it f.e. "download.php"
$path $_SERVER['DOCUMENT_ROOT']."/path2file/"// change the path to fit your websites document structure
$fullPath $path.$_GET['download_file'];
 
if (
$fd fopen ($fullPath"r")) {
    
$fsize filesize($fullPath);
    
$path_parts pathinfo($fullPath);
    
$ext strtolower($path_parts["extension"]);
    switch (
$ext) {
        case 
"pdf":
        
header("Content-type: application/pdf"); // add here more headers for diff. extensions
        
header("Content-Disposition: attachment; filename=\"".$path_parts["basename"]."\""); // use 'attachment' to force a download
        
break;
        default;
        
header("Content-type: application/octet-stream");
        
header("Content-Disposition: filename=\"".$path_parts["basename"]."\"");
    }
    
header("Content-length: $fsize");
    
header("Cache-control: private"); //use this to open files directly
    
while(!feof($fd)) {
        
$buffer fread($fd2048);
        echo 
$buffer;
    }
}
fclose ($fd);
exit;
// example: place this kind of link into the document where the file download is offered:
// <a href="download.php?download_file=some_file.pdf">Download here</a>
?>

لینک سایت
باید آدرس فایلی که می‌خوای دانلود کنی تو متغییر path وارد کنی بعد فایل رو آپلود کنی. و وقتی تو مرورگر اینترنتی این فایل آپلود شده رو باز کنی، کد php اجرا می‌شه
امتحانش هم کردم، درست کار می‌کنه
« آخرین ویرایش: 04 اسفند 1388، 12:02 ق‌ظ توسط heresh »

آفلاین سید محمود رضا سجادی

  • Hero Member
  • *
  • ارسال: 704
  • جنسیت : پسر
    • مرکز برنامه نویسی ایران
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #9 : 04 اسفند 1388، 01:41 ق‌ظ »
!!پس از ویرایش پاک شد!!

--------------------- ویرایش---------------------

آقا من فکر کردم شما یکی دیگه ای
همین سوالو که توی تاپیک زیر هم پرسیدی!!!
یکیش کافی بنود به نظرت؟
http://forum.ubuntu.ir/index.php/topic,12850.0.html
« آخرین ویرایش: 04 اسفند 1388، 01:46 ق‌ظ توسط سید محمود رضا سجادی »
مرکز برنامه نویسی ایران
محلی برای تمامی علاقه مندان به برنامه نویسی http://www.SourceCenter.IR

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #10 : 04 اسفند 1388، 10:32 ق‌ظ »
اول در جواب اقای heresh من هیچی phpبلد نیستم  و در کد هزار تا متغیر path وجود دارد.فرض کنید من می خوام صفحه ی www.google.com را دانلود کنم.
میشه جایگزین pathکنید ببینم چی می شه.ممنون
در جواب اقای سجادی باید بگویم اون سوال در پست مربوط به اسکریپت مطرح شد و بعد به php کشیده شد.برای همین یه پست جدا دادم

آفلاین heresh

  • Hero Member
  • *
  • ارسال: 968
  • جنسیت : پسر
پاسخ به: پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #11 : 04 اسفند 1388، 05:29 ب‌ظ »
اول در جواب اقای heresh من هیچی phpبلد نیستم  و در کد هزار تا متغیر path وجود دارد.فرض کنید من می خوام صفحه ی www.google.com را دانلود کنم.
میشه جایگزین pathکنید ببینم چی می شه.ممنون

دوست عزیز من نگفتم جایگزین. باید متغیر path رو مقدار دهی کنی. و مقدارش رو آدرس فایلی که قراره دانلود بشه قرار بدی.
تو این خط
$path = $_SERVER['DOCUMENT_ROOT']."/path2file/"; // change the path to fit your websites document structure
مثال:
با این کد نمی‌شه www.google.com رو دانلود کرد چون گوگل یه سایته و هر سایت تعداد زیادی فایل داره و این سکریپت تو هر بار اجرا فقط یه فایل رو می‌تونه دانلود کنه.
مثلا ما می‌خوایم یه فایل به اسم example.txt رو که تو آدرس directory/dir1/example.txt/ هست رو دانلود کنیم. باید کد رو به این شکل تغییر بدیم:
$path = $_SERVER['DOCUMENT_ROOT']."/directory/dir1/"; // change the path to fit your websites document structureبعد خط پایینش رو به این شکل:
$fullPath = $path."example.txt";

آفلاین heresh

  • Hero Member
  • *
  • ارسال: 968
  • جنسیت : پسر
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #12 : 04 اسفند 1388، 06:28 ب‌ظ »
به به! چی ساختم  ;D

کد بالا رو تغییر دادم، کاملش کردم. دیگه لازم نیست اصلا کدش رو تغییر بدی و فقط کافیه یه بار آپلودش کنی، نه اینکه برای هر فایل کدش رو تغییر بدی و بازم آپلود کنی.
فقط کد پایین رو تو یه فایل با پسوند php. آپلود کن. بعد از اجرا یه textBox داره، آدرس فایل رو کامل بنویس ( همراه با اسم فایل) بعد دگمه Download رو بزن
<?php
ob_start
();
    
// If the name field is filled in
    
if (isset($_POST['filename']))
    {
        
$name htmlentities($_POST['filename']);
$fullPath $_SERVER['DOCUMENT_ROOT'].$name;
if ($fd fopen ($fullPath"r")) {
$fsize filesize($fullPath);
$path_parts pathinfo($fullPath);
$ext strtolower($path_parts["extension"]);

header("Content-type: application/octet-stream");
header("Content-Disposition: filename=\"".$path_parts["basename"]."\"");
header("Content-length: $fsize");
header("Cache-control: private"); //use this to open files directly
while(!feof($fd)) {
$buffer fread($fd2048);
echo $buffer;
}
}
fclose($fd);
exit;
    }
?>

<form action="second.php" method="post">
    <p>
         File Address: (with File's Name)<br />
         <input type="text" id="filename" name="filename" size="20" maxlength="256" />
    </p>
    <input type="submit" id="submit" name = "submit" value="Download!" />
</form>

<?php ob_flush(); ?>

(البته کاره بخصوصی نکردم، درست کردن فرم ساده است ولی اولین باره که از فرم استفاده کردم ;) )
« آخرین ویرایش: 04 اسفند 1388، 06:49 ب‌ظ توسط heresh »

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #13 : 04 اسفند 1388، 08:19 ب‌ظ »
ییخشید یه سوال دیگه
وقتی می گید /directory
یعنی این که این ادرس در کامپیوتر خودمان است و برای همین بعد از path نوشتیم document_root
ایا استدلال من درسته یا اگه ادرس فایل در سرور خودمان نبود باز هم ان document_rootباقی می ماند.
اها راستی من اون کد را با پسوند php رو دسکتاپ سیو کردم و با فایرفاکس بازش کردم.بعد ادرس مستقیم یک فایلو بهش دادم.ولی فایرفاکس پیغام second.php not found
را داد.پس چه جوری از کد استفاده کنم.می خوام تستمش کنم اگه جواب داد اپلود کنم.
سوال اولم در مورد کد قبلی بود که ولش کنید.سوال دوم رو بی زحمت اگه می شه کمک کنید
« آخرین ویرایش: 04 اسفند 1388، 08:28 ب‌ظ توسط pooya_mr2009 »

آفلاین pooya_mr2009

  • Jr. Member
  • *
  • ارسال: 75
پاسخ به: کمک برای نوشتن یک کد php
« پاسخ #14 : 04 اسفند 1388، 08:45 ب‌ظ »
اره
یه باره دیگه این کارو کردم.
نتیجه همان بود که گفتم
پیشنهادی دارید؟