كيف أتخطى مسألة Save Target As في ال php-nuke؟

كل ما يهم مطور المواقع ... لغات برمجة المواقع .. سكربتات .. مناقشات ..
مغلق
حياة
عضو نشيط
مشاركات: 168
اشترك في: 11 أغسطس 2005, 15:23

كيف أتخطى مسألة Save Target As في ال php-nuke؟

مشاركة بواسطة حياة »

في مركز تنزيل الملفات في php-nuke لدي ملفات PDF للتنزيل.

المشكلة انه عند الضغط عليها تفتح في صفحة جديدة ويتم تحميل ملف ال pdf الهائل الحجم أصلا.

هل من طريقة تجل شاشة تظهر للزائر تخيره بين
open or save

طبعا يمكنه أن يقوم بالضغط بالزر الايمن و save target as لكنه معظمهم لا يفعل ثم يشتكي أن الملف لا يتم تنزيله :(

1- هل يمكن عمل ذلك في بوابة php-nuke
2- ولو كنت سأضع الوصلة في ملف html عادي، هل من طريقة لجعل هذه الشاشة تظهر للزائر عند محاولة تنزيل الملف؟

بورك فيكم.
WebMaster
عضو نشيط
مشاركات: 287
اشترك في: 01 فبراير 2005, 08:59

مشاركة بواسطة WebMaster »

ماعتقد هذه مشكلة من النيوك

جربي من جهازك ثاني

المشكلة من معالجة pdf في متصفحك اكيد مره اخترت فتح بدل حفظ ثم اخترتي جعله الخيار القياسي وماعاد صار يسئل

جربي مثلاً تحميل ملف zip بتلاحظين انه يخيرك فتح او حفظ وهناك خيار يثبت العمليه فلا عاد يسئل

بصراحة انا خبرتي بسيطة في الويندوز ولا اعرف من اين نعدل خصائص التحميل والفتح للملفات

حصلت مره معي لكن لمفات rar كان يفتحها ولايسئل وكنت مضطر اختار حفظ الهدف باسم وعجزت احلها لكن فرمت الجهاز وانتهت ما اكرر خيار لاتسئلني او احفظ اختياري

جربي التحميل بمتصفح ثاني فايرفوكس مثلاً بتلاحظين انه يسئلك حفظ او فتح !!

المتصفح IE عندك حفظ بالغلط ان كل ملف pdf يتم فتحه وليس حفظة
هاوي PHP
عضو نشيط
مشاركات: 165
اشترك في: 28 يناير 2005, 12:13
مكان: السعودية - الرياض
اتصال:

مشاركة بواسطة هاوي PHP »

سلام عليكم

في الروابط الاعتيادية لملف PDF
مثلا:
http://www.xxx.com/yyy.pdf
http://www.xxx.com/file.php?id=111

إذا كان (Acrobat Reader) قارئ ملفات الـPDF مثبت على الجهاز فإنه سيتم فتح الملف مباشرة
وإذا لم يكن مثبت على الجهاز فسيتم السؤال عن مكان لتخزين الملف


يمكن تغيير ذلك حسب الرغبة بعمل تعديلات بسيطه في النظام (هاكات)

في برامج مكتبات الملفات كاللتي في nuke وغيرها عندما تكون روابط الملفات
تقريبا مثل http://www.xxx.com/file.php?id=111

يمكن التعديل على file.php لاجبار الزائر على التحميل حتى وإن كان لديه Acrobat Reader وإضافة أشياء مثل

كود: تحديد الكل

Header("Content-Type: application/octet-stream");
Header("Content-Type: application/x-ms-download");
حياة
عضو نشيط
مشاركات: 168
اشترك في: 11 أغسطس 2005, 15:23

مشاركة بواسطة حياة »

السلام عليكم

بارك الله فيكما أخي WebMasterو وأخي هاوي PHP

العنوان هو:

modules.php?name=Downloads&d_op=getit&lid=1

لكن ماذا أعدّل تحديدا؟ وما أكتب بالضبط؟

أكون شاكرة لو تزودني بالكود الواجب تغييره لأن خبرني في هذا الحقل متواضعة.

جزيتم كل خير.
هاوي PHP
عضو نشيط
مشاركات: 165
اشترك في: 28 يناير 2005, 12:13
مكان: السعودية - الرياض
اتصال:

مشاركة بواسطة هاوي PHP »

ولو أني لا احب العمل في nuke لكن ماهو الاصدار الذي تستخدمينه
لعلي اجد وقت واعطيك التعديل المناسب
حياة
عضو نشيط
مشاركات: 168
اشترك في: 11 أغسطس 2005, 15:23

مشاركة بواسطة حياة »

جزيت كل خير


PHP-Nuke-7.6_patched_2.8

في الحقيقة استغنيت عنها باستثناء مركز تنزيل الملفات لأني لا أريد خسارة احصائيات مرات التنزيل.

هل تنصحني ببديل لها؟

يعني مركز تنزيل ملفات فيه خاصية حفظ ال PDF بشكل تلقائي
ويسمح لي بتعديل الاحصائيات لاضم لها الارقام التي تم تنزيلها على ال php-nuke
يفضل أن يكون فيها نظام شهري للاحصاءات.

علما بأن بقية التفاصيل لا تهم لأن الموقع سيكون html وسأضع الرابط في ملف html يعني موضوع ال php-nuke أو مركز التنزيل فقط لموضوع الاحصائيات.

إذا كان هناك طريقة أجدى، أرجو إعلامي.

وبارك الله فيك دوما.
هاوي PHP
عضو نشيط
مشاركات: 165
اشترك في: 28 يناير 2005, 12:13
مكان: السعودية - الرياض
اتصال:

مشاركة بواسطة هاوي PHP »

هل تنصحني ببديل لها؟

نعم أنصح بأي بديل


يعني مركز تنزيل ملفات فيه خاصية حفظ ال PDF بشكل تلقائي
ويسمح لي بتعديل الاحصائيات لاضم لها الارقام التي تم تنزيلها على ال php-nuke
يفضل أن يكون فيها نظام شهري للاحصاءات.


ما فيه ببالي اسم برنامج ولكن ممكن تبحثين عن أي برنامج
واذا فيه مشكله بتحميل pdf محلولة مثل الحل اللي بعطيك الآن لـnuke

أما احصائيات التحميل هذي مو مشكلة أي مبرمج ممكن ينقل لك البيانات كاملة كما هي بأجر بسيط

عموما التعديل بيكون في الملف modules/Downloads/index.php

تحديدا هنا بآخر سطر قبل القوس {

كود: تحديد الكل

function getit($lid) {
    global $prefix, $db;
    $lid = intval($lid);
    $db->sql_query("update ".$prefix."_downloads_downloads set hits=hits+1 WHERE lid='$lid'");
    update_points(17);
    $result = $db->sql_query("SELECT url FROM ".$prefix."_downloads_downloads WHERE lid='$lid'");
    list($url) = $db->sql_fetchrow($result);
    Header("Location: $url");
}




التعديل هو استبدال

كود: تحديد الكل

Header("Location: $url"


بـ

كود: تحديد الكل

Header("Content-Type: application/x-ms-download");
Header("Content-Disposition: attachment; filename=".$url);


لكن ما ضبط 100% ما ادري ليش :(


عندي ببرنامج الصوتيات استخدم هذا الكود حتى يجبر الزائر على التحميل المادة الصوتية عند الضغط على الرابط بدلا من تشغيل الملف الصوتي مباشرة

طبعا برنامج ثاني غير الـ nuke لكن شغال معي 100%

كود: تحديد الكل

        $file=realpath("cache/files/$url");
        Header("Content-Type: application/octet-stream");
        Header("Content-Type: application/x-ms-download");
        Header("Content-Length: ".filesize($file));
        Header("Content-Disposition: attachment; filename=".$url);
        readfile($file);



طبعا هذي كانت تجارب كذى على السريع
اذا احد من الاخوان يعرف وين الخطأ يا ليت يبلغنا

اعتقد انه بسبب استخدام روابط الملفات url بدل المسارات path في nuke
وليس كما استخدم في البرنامج اللي عندي :arrow:
حياة
عضو نشيط
مشاركات: 168
اشترك في: 11 أغسطس 2005, 15:23

مشاركة بواسطة حياة »

بارك الله فيك وعذرا على التأخر في الرد.
حياة
عضو نشيط
مشاركات: 168
اشترك في: 11 أغسطس 2005, 15:23

مشاركة بواسطة حياة »

هل توصل أحد للحل؟
لاني لا أريد خسارة الإحصائيات السابقة في مركز التنزيل.

شكرا.
مغلق