
پیدا کردن فایل های تکراری با PHP
858 بازدید بازدید
حتما میدونید که نمیشه از youtube در حالت عادی چیزی دانلود کرد
و اگه بخوایم چیزی دانلود کنیم باید از سایت های استفاده کرد که به ما لینک دانلود ویدیو رو میدن
توی این آموزش میخوام بگم که این جور سایت ها چطوری میان اینکار انجام میدن.
برای اینکار یه لابیری به اسم youtube-dl وجود داره که خیلی قدرتمند هست
و تحت Command-line کار میکنه
لایبری youtube-dl به غیر یوتیوب از کلی سایت دیگه هم پشتیبانی میکنه که میتونید لیست کاملش رو در این لینک ببیند
این لایبری با زبان پایتون نوشته شده و قابل اجرای روی ویندوز،لینوکس،مک و…هست
خبر خوب اینکه اصلا نیازی نیست پایتون بلد باشید و میتونید توی هر زبانی ازش استفاده کنید حتی PHP چون لایبری به صورت Command-line کار میکنه
توی این آموزش من فرض رو بر این میگرم که شما از ویندوز استفاده میکنید
برای شروع وارد این لینک میشم و نسخه مخصوص به ویندوز رو دانلود میکنم
حتما مطمئن بشید که Microsoft Visual C++ 2010 روی سیستم نصب دارید
خب حالا چطوری میشه از یه فایل exe توی PHP استفاده کرد؟
به راحتی با استفاده از تابع shell_exec میشه اینکارو انجام داد
این تابع عملکردش مثل cmd هست
نکته:تابع shell_exec به دلایل امنیتی روی هاست های اشتراکی فعال نیست و باید روی لوکال هاست(زمپ) یا روی هاست های اختصاصی باشید
برخی از دستورات youtube-dl
دانلود کیفیت بالا(حداکثر 720)
youtube-dl -f best https://www.youtube.com/watch?v=Xnuv61SqCYI
دانلود بالاترین کیفیت ممکن
توی یوتیوب فیلم های با کیفیت بالاتر از 720 مثلا 1080 بدون صدا هستن
و صوت و تصویر باید جداگونه دانلود بشن و بعد باهم میکس بشن که این میکس توسط ffmpeg انجام میشه
باید افافامپگ رو هم دانلود کنید و فایلش رو کنار لایبری قرار بدید
youtube-dl -f bestvideo+bestaudio --merge-output-format mp4 https://www.youtube.com/watch?v=Xnuv61SqCYI
لیست بقیه کامنت های که لایبری داره رو میتونید از توی داکیومنتش توی این لینک ببیند
استفاده توی PHP
توجه داشتید باشید که youtube-dl باید فایلش کنار فایل php توی یک دایرکتوری باشه
البته میتونید به صورت Global درش بیارید
برای اینکار باید Path لایبری رو به Windows Environment اضافه کنید
shell_exec("youtube-dl -f best https://www.youtube.com/watch?v=Xnuv61SqCYI");