/
  • مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده

  • ارسال پاسخ   امتیاز موضوع:
    • 0 رأی - میانگین امیتازات: 0
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده
    نویسنده پیام
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,197
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #1
    مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده
    سلام،

    وقتی فایلی آپلود میکنم که تماما دارای حروف الفبای لاتین هست هیچ مشکلی با اون فایل ندارم اما وقتی فایل رو فارسی مینویسم و آپلود میکنم، بعد از آپلود نامش روی سرور که رفته حذف میشه و فقط یدونه .mp3 مثلا میمونه.


    همینطور فایل هایی که دارای کاراکتر فاصله هستند هم معتبر نیستن. برای اعتبار سنجی از شرط زیر استفاده میکنم.

    کد PHP:
    if(filter_var($filenameFILTER_VALIDATE_URLFILTER_FLAG_PATH_REQUIRED)) 


    ** من urlencode() رو تست کردم و آپلود میشه ولی باز معتبر نیست از اون مهم تر جای فاصله + میندازه که نمایش داده میشه و من میخوام نمایش داده نشه یه چیزی مثل % 20 که کد فاصله هست. (اگر اشتباه نکنم)

    بنظر شما برای حل دو مشکل باید چیکار کنم؟
    ۱۳۹۱ مهر ۱۱ ۰۹:۱۰ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    zoghal آفلاین
    صالح سوزنچی
    *****

    ارسال‌ها: 1,766
    تاریخ عضویت: ۱۳۸۷ دي ۲۵
    اعتبار: 23
    تشکرها : 1500
    ( 1729 تشکر در 992 ارسال )
    ارسال: #2
    RE: مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده
    سوالت خیلی کلی هست. و راه های زیادی برای اینکار هست.
    اما مطمئنم که تو مراحل آپلود فایل با اس فارسی، فایل آپلود میشه و در آرایه $_FILE مقدار دهی هم میشه. هر مشکلی دارید از این مرحله شروع میشه. فرضا اگر pathinfo استفاده کردید. فکر میکنم با نام فایل های ینکود مشکل داشته باشه.

    من اگر قرار باشه مشخصات فایل رو در جدول نگهداری کنم. فایل رو حتما تغییر نام میدم به یک رشته از نوع uuid بعد نام جدید و رو به همراه اسم واقعی ذخیره میکنم. اینجوری مشکلات امنیتی مثل آپلود شل. اگر سیستم داشته باشه. نمی تونه به راحتی حدس بزنه نام فایل چی هست و نمی تونه به اون دسترسی پیدا کنه
    ۱۳۹۱ مهر ۱۳ ۱۲:۴۴ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ali786
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,197
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #3
    RE: مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده
    نقل قول: فرضا اگر pathinfo استفاده کردید.
    نه استفاده نکردم.

    نقل قول: من اگر قرار باشه مشخصات فایل رو در جدول نگهداری کنم. فایل رو حتما تغییر نام میدم به یک رشته از نوع uuid بعد نام جدید و رو به همراه اسم واقعی ذخیره میکنم. اینجوری مشکلات امنیتی مثل آپلود شل. اگر سیستم داشته باشه. نمی تونه به راحتی حدس بزنه نام فایل چی هست و نمی تونه به اون دسترسی پیدا کنه
    این اسکریپتی که من نوشتم قرار نیست دیتابیس بخشی ازش باشه. همه چی بدون اون انجام میشه (به درخواست کارفرما) .

    من دارم از ftp php کمک میگیرم. من تست کردم. فایل با نام فارسی رو آپلود میکنه. نام رو درست کلاینت میفرسته و سرورم درست میگیره. (ریسپانس رو دیدم) موقع آپلود همون نام دریافتی رو میدم به تابع مربوطه. توی این مسیر هیچ مشکلی نیست. حالا من توی stackoverflow هم مطرح کردم که دو نفر نظر مشابهی دارن. سیستم عامل نصب شده رو سرور که centOS 5.6 فکر کنم هست نگارشش. و filesystem type رو هنوز جوابشو ندادن که چیه. میگن مشکل هرچی هست مربوط به سرور میشه.
    ۱۳۹۱ مهر ۱۳ ۱۲:۵۸ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    zoghal آفلاین
    صالح سوزنچی
    *****

    ارسال‌ها: 1,766
    تاریخ عضویت: ۱۳۸۷ دي ۲۵
    اعتبار: 23
    تشکرها : 1500
    ( 1729 تشکر در 992 ارسال )
    ارسال: #4
    RE: مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده
    از فایل منجر پنل هاست استفاده کن ببین رو اون فایل مشکلی دارند یا نه . اگر داشتن می تونه مشکل از سرور و filesystem type باشه.
    ۱۳۹۱ مهر ۱۳ ۰۱:۰۵ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : ali786
    qaflanti آفلاین
    حسین پوربهرامی
    **

    ارسال‌ها: 43
    تاریخ عضویت: ۱۳۹۱ مرداد ۱۱
    اعتبار: 0
    تشکرها : 27
    ( 9 تشکر در 6 ارسال )
    ارسال: #5
    RE: مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده
    اینو امتحان کن ببین:
    کد PHP:
    $file_name rawurlencode(str_replace(" ","%20",htmlspecialchars_decode($_FILES["file"]["name"]))); 
    __________________________________________________________________________
    موفق باشید.
    ۱۳۹۱ مهر ۱۳ ۰۲:۳۱ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    cyletech غایب
    علیرضا اسکندرپور شوفری
    *****

    ارسال‌ها: 2,197
    تاریخ عضویت: ۱۳۸۸ فروردين ۸
    اعتبار: 42
    تشکرها : 1258
    ( 2239 تشکر در 1089 ارسال )
    ارسال: #6
    RE: مشکل با کاراکتر فاصله و نام‌های unicode در فایل های آپلود شده
    نقل قول: اینو امتحان کن ببین:
    نه هنوز فاصله تو نام فایل معتبر نیست.
    ۱۳۹۱ مهر ۱۳ ۰۸:۴۴ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط :
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS