یک فایل را با fopen باز کنید، با stream_get_meta_data بررسی کنید که استریم قابل جابجایی (seekable) و از نوع فایل محلی است و سپس هدرهای مناسب Content-Type و Content-Length را ارسال کرده و محتوای فایل را به مرورگر استریم کنید.

0.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:42

0.0

با استفاده از fopen فایل را باز کنید، سپس stream_get_meta_data را فراخوانی کنید تا آرایه‌ای شامل کلیدهایی مثل 'seekable' و 'wrapper_type' و 'uri' دریافت کنید؛ اگر 'wrapper_type' برابر 'plainfile' بود می‌توانید از filesize برای گرفتن اندازه و از mime_content_type یا finfo برای تعیین نوع محتوا استفاده کنید. اگر استریم قابل جابجایی است قبل از fpassthru با rewind مطمئن شوید از ابتدای فایل خوانده می‌شود، سپس با header هدرهای Content-Type، Content-Length و در صورت نیاز Content-Disposition را ارسال و با fpassthru یا خواندن در حلقه محتوای فایل را خروجی دهید؛ فراموش نکنید پس از ارسال خروجی اسکریپت را پایان دهید.

توسط پژوهشگر در 221 روز قبل ساعت 01:42
دسته بندی ها: PHP PHP for beginner
arash در 221 روز قبل ساعت 12:17

برای پخش امن یک فایل با PHP، ابتدا آن را با fopen باز کنید و با stream_get_meta_data بررسی کنید که استریم قابل جابجا (seekable) است و wrapper_type آن محلی است. اگر wrapper_type برابر plainfile بود می‌توانید از filesize برای اندازه و از finfo یا mime_content_type برای تعیین Content-Type استفاده کنید. اگر استریم قابل جابجا است، قبل از خروجی با rewind به ابتدای فایل برگردید، سپس هدرهای Content-Type و Content-Length را ارسال کنید و در صورت نیاز Content-Disposition را اضافه کنید و محتوا را با fpassthru یا با خواندن در حلقه خروجی دهید و اسکریپت را پایان دهید.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری