PDA

View Full Version : سوال: اپدیت انلاین برنامه و تغییر ادرس اپدیت برای یوزر



mehrdad1991h
سه شنبه 17 آبان 1390, 15:18 عصر
سلام
یه برنامه دارم از طریق اینترنت اپدیت میشه حالا مشکل اینه
می خوام یوزر نفهمه ادرس واقعی که فایل را ازش میگیره چیه
مثلا بیاد به صورت تصادفی یه کد شامل حرف و عدد بزاره تو یه قسمت از ادرسی که یوزر می گیره برای دانلود

بزارید یکم بهتر توضیح بدم
ببینید مثلا خودم دیدم یه برنامه که میخوام دانلود کنم تا روی لینک کلیک میکنمیه لینک بهم میده که قابلیت قطع ارتباط و وصل شدن دوباره هم نداره
http://www.mysite.com/0123abc45de/myprogram.exe
حالا اگه دوباره رو همون لینک دانلود کلیک کنم یه ادرس دانلود جدید بهم میده مثلا این
http://www.mysite.com/6789fgh98ij/myprogram.exe

میخوام ببینم چجوری باید این کارا کرد که یوزر هم متوجه ادرس واقعی که داره فایل را ازش میگیره نشه
و ادرس دانلود مودام تغییر میکنه

یه نمونه کدی چیزی میخوام
لطفا راهنمایی کنید
سپاس

mehrdad1991h
سه شنبه 17 آبان 1390, 20:26 عصر
اپدیت شد......

mehrdad1991h
جمعه 20 آبان 1390, 15:36 عصر
نبود کمک...؟؟؟

blackmak
جمعه 20 آبان 1390, 17:10 عصر
یه فرض میتونه این باشه . اونم اینه که وقتی شما درخواست دانلود یه فایلو میدی اون سایت از archive خودش اون فایلو تو یه folder با نام تصادفی ای که ایجاد میکنه کپی میکنه بعد تا زمانی این فولدر با فایل داخلش (که در واقع یه کپی از فایلی که تو آرشیوش وجود داره هست) رو نگه میداره که شما در حال دانلود کردن باشی و وقتی که شما دانلودت تموم شدیا به هر دلیلی ارتباطت با سرور قطع شد. اون فایل با فولدرش پاک میشه . البته این یه فرض هستش نمیدونم شاید از این روش استفاده بشه.

blackmak
جمعه 20 آبان 1390, 17:11 عصر
البته روش فوق یکم غیر عملیه :لبخند: به نظرم یه search کنی چیزی باشه که راهنماییت کنه

pejman_view
شنبه 21 آبان 1390, 08:19 صبح
سلام مهرداد جان

نمی دانم بلدی با کلاس کار کنی یا نه؟ اگر بلد باشی من راه حلش رو با خیلی امکانات دیگه به شما معرفی می کنم.

قربانت
پژمان

Arthas1990
شنبه 21 آبان 1390, 22:32 عصر
1یک صفحه میانجی که لینک فایلت توش هست بساز .
2آدرس فایل هات رو از بانک اطلاعاتی بخون
3بعد از هر بار دانلود (کلیک روی لینک دانلود) یک پوشه با نام مثلا زمان جاری به میلی ثانیه بساز و فایل دانلودیت رو منتقل کن اونتو
4در بانکت آدرس جدید رو دخیره کن
5دایرکتوری قبلیت رو پاک کن
6برای توضیح بیشتر تماس بگیر باهام09154040950
7تشکریادت نره ;)

امیدوارم کمکی کرده باشم

mehrdad1991h
چهارشنبه 25 آبان 1390, 14:33 عصر
یکمی کدا را قاطی پاتی کردم یه چیزی در اومد ولی باز کامل جوابگو نیس ولی باز بهتر از هیچیه

روش کار :
اول میام مثلا تعیین میکنم این فایل مثلا قراره 20 بار دانلود بشه (حداکثر)
بعد 20 تا استرینگ تعریف میکنم
بعد میگم همون که شما گفتید اگه این استرینک بود برو فایل را بده بهش دانلود کنه با یه ادرسی شبیه این میشه
example.com/download.php?file=dbj35hdjs5dgsgdjh7djh6sdjsj
بعد حالا اگه ارتباط قطع شد استرینگ پاک میشه و عملا دیگه از اون لینک نمیشه دانلودش کرد
و....

حالا مشکل
اگه که 20 تا استرینگ تعریف کردیم
بار 21 که می خواد دانلود بشه دیگه چیزی نمیجوره که دانلود کنه:گیج:

اینم به زور نوشتیم
میخواستیم کد نمونه بهمون بدین که بفهمیم چی به چیه عین خود من اومدین توضیح دادین
دسدتون درد نکنه
حالا باز اگه راه دیگه ای هم هست بگید
مزاحم اقای Arthas1990 هم نشدیم دیگه زنگ نزدم زشته:خجالت: (شمارتون را ادیت کنید مزاحم تلفنی برا خودتون نسازید :خجالت:)

حالا باز کسی چیزی بهتری میتونه بگه اون روش هایی که تا الان گفتید که میاد حی فایلا کپی کنه یه جا دیگه یکم جالب نیس.
کد نمونه هم بزارید که عالیه

بازم از همگیتون که تا اینجا راهنمایی کردید ممنون

pejman_view
چهارشنبه 25 آبان 1390, 15:18 عصر
سلام

من دقیقاً نمی دونم می خوای چیکار کنی:
1- آیا می خوای هر یوزر با یه لینک جدا فایل مورد نظرتون رو دانلود کنن؟
2- یا می خوای که هر یوزر با وارد شدن یک لینک مخصوص داشته باشن که فقط یکبار امکان دانلود داشته باشن...

اگر دقیقاً به سوالم جواب بدید راهنماییتون می کنم، حتی خواستی مانند دوست عزیزمون شماره تلفن هم بهتون می دم (وقتی طرف راضیه که تماس بگیری، شما تماس بگیر زشت نیست!).

Net So
چهارشنبه 25 آبان 1390, 18:40 عصر
شما ادرس فایل ها رو از DB میخونید. بعد یه String Random ایجاد میکنید برای هر فایل. بعد این میشه Main Link ما. طرف میاد لاگین میکنه یه سشن درست میکنید که حاوی آدرس واقعی فایل هست . اینطوری وقتی طرف رو فایل کلیک میکنه ، شما پاس میدین طرف رو به فایل . بعد برای نفر بعدی هم همینطور یعنی یک سشن درست میکنید . url ای که از طرف میگیرید مثلا به اسم سشن اشاره میکنه. وقتی هم که طرف فایل رو میزنه برای دانلود ، سشن از بین میره

mehrdad1991h
پنج شنبه 26 آبان 1390, 23:21 عصر
هر یوزر از لینک جدا فایل را بگیره و هر لینک فقط 1 بار کار کنه

pejman_view
جمعه 27 آبان 1390, 02:51 صبح
سلام

برای ساخت URL ، ما به یک جدول جدید در دیتابیس نیاز داریم: download_session
هر موقع کاربری درخواست دانلود داد شما می توانید به لینکی جدید منتقلش کنید که یک فایل رو با متغیر id دریافت کنه مانند شکل زیر:
http://localhost/download.php?id=
حالا چرا گفتم که به یک جدول نیاز داریم شما هر موقع کاربر درخواست داد در این جدول چندتا اطلاعات می ریزید:
1- session_id
2- user_id
3- file_address
4- timestamp

حالا بیاید زمانی که کاربر درخواست داد از فرمول زیر استفاده کنید:
رشته timestamp را با user_id کاربر ترکیب کنید و آن را hash کنید.


$content = time().$user_id;
$get_id = md5($content);

وقتی هم صفحه دانلود رو اجرا کرد کلاً باید record مورد نظر پاک بشه...

حالا بیاید برسیم به بخش دانلود وقتی تمام مراحل بالا رو گذراندی به بخش دانلود می رسی که نباید لینک دانلود را ببیند...

یک کلاس اینجا اتچ کردم دانلود کنید اگر خواستی برای این کلاس تشکر کنی می تونی از دوست خوبم الکس سالمی کیا تشکر کنی واقعاً کلاس فوق العاده ایی نوشته...

78008

و نحوه کار با کلاسش مانند زیر است:

require_once('download.class.php');


$dl = new httpdownload;
$dl->filename = 'file.exe'; // The file will be renamed to
$dl->speed = 60; //download speed in KB
$dl->use_resume = false; // If download manager supports to resume
$dl->set_byfile('file.exe'); // File address to be download
$dlsize = $dl->download(); //Begin download...

در خط 5 تعیین می کنید موقع دانلود نام فایل چی باشد.
در خط 6 سرعت دانلود را به کیلوبایت تعیین می کنید.
در خط 7 تعیین می کنی که اگر وسط های دانلود قطع شد و فایل دریافت نشد کاربر دوباره بتواند دانلود کنه یا نه.
در خط 8 آدرس فایل دانلود را در آنجا وارد می کنیم.
در خط 9 دانلود آغاز می شه.
*بعد از این مرحله record مربوطه پاک شود.

mehrdad1991h
جمعه 27 آبان 1390, 12:31 عصر
ایول خیلی کامل و دقیق توضیح دادید
فک کنم همه چیزی که میخوام را داره
نه مطموئنم که داره

خیلیییییییییییییی متشکرم
الان رفتم برم برا تستش
بازم ممنون