سؤال

أقوم بإعداد برنامج نصي حتى أتمكن من إدخال عنوان URL إلى صفحة ويب وسيقوم البرنامج النصي wget الملف. معظم الملفات ، ومع ذلك ، ستكون في *.rar صيغة. هل هناك على أي حال يمكنني تمرير اسم الملف إلى unrar أمر بإلغاء تنزيل الملفات عبر wget?

الكثير الكثير من الشكر مقدما!

تعديل فكرت في استخدام PHP's explode() وظيفة لتفكيك عنوان URL بواسطة القطع المائلة (/) ولكن هذا يبدو قليلا الاختراق.

هل كانت مفيدة؟

المحلول

Wyzard يعطي أفضل إجابة. إذا كانت هناك مكتبة تحل مشكلتك ، فاستخدمها بدلاً من وضع عملية خارجية. إنه أكثر أمانًا وهو الحل النظيف. PHP لفة و رار جيدة ، استخدمها.

ومع ذلك ، إذا كان يجب عليك استخدام wget و unrar, ، ثم Rik يعطي إجابة جيدة. wget-O filename الخيار يحفظ الملف كما filename, ، لذلك ليس عليك حلها. أفضل الأنابيب wgetإخراج مباشرة إلى unrar رغم ذلك ، باستخدام wget -q -O - http://www.example.com | unrar.

إجابة بايرون مفيدة ، لكنك لا تحتاج حقًا إلى استخدامها هنا. ومع ذلك ، هو أفضل من استخدام explode() كما يذكر تحريرك.

نصائح أخرى

بدلاً من التخلص من البرامج الخارجية لتنزيل الملف واستخراجه ، يجب عليك التفكير في استخدام PHP الخاص لفة و رار الامتدادات. يمكنك استخدام ال tmpfile () وظيفة لإنشاء ملف مؤقت ، استخدمه كقيمة لخيار Curlopt_File لجعل حليقة حفظ الملف الذي تم تنزيله هناك ، ثم افتح هذا الملف مع وظائف RAR لاستخراج المحتويات.

يستخدم basename()للحصول على اسم الملف.

wget -O filename URL && unrar filename

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top