PDA

View Full Version : سوال: عدم شناسایی فرمت فایل آپلودی



mohamad_a226
جمعه 26 مهر 1398, 11:46 صبح
سلام. خسته نباشید
من یه کد php برای آپلود فایل دارم. ولی متأسفانه فرمت فایل آپلودی رو نمی تونه تشخیص بده. الان حتی یه کد ساده رو نوشتم که فرمت فایل رو واسم چاپ کنه ولی وقتی داخل هاست آپلود میکنم و با postman تست میکنم، کار نمیکنه و چیزی چاپ نمیکنه.

<?phpif($_SERVER['REQUEST_METHOD'] == 'POST') {$FileExtension= explode(".", $_FILES["File"]["tmp_name"]);$extension=end($FileExtension);echo $extension;}?>

کدهای مختلف دیگه ای هم امتحان کردم. مثلا دو نمونه دیگه:

<?phpif($_SERVER['REQUEST_METHOD'] == 'POST') {$FileExtension= finfo_open( FILEINFO_MIME_TYPE );$extension=pathinfo( $finfo, $_FILES["File"]["tmp_name"] );finfo_close( $FileExtension );echo $extension;}?>


<?phpif($_SERVER['REQUEST_METHOD'] == 'POST') {$extension=pathinfo( $_FILES["File"]["name"], PATHINFO_EXTENSION );echo $extension;}?>

ممنون میشم راهنمایی کنید که مشکل از کجاست

ASHKANLAEI
جمعه 26 مهر 1398, 13:35 عصر
phpif?> رو به php if?> تغییر بدین

mohamad_a226
جمعه 26 مهر 1398, 14:06 عصر
phpif?> رو به php if?> تغییر بدین

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

ali_sed
جمعه 26 مهر 1398, 15:12 عصر
روز بخیر

اول از همه $_FILES را با استفاده از var_dump چاپ کنید تا محتویات آن مشخص شود فایل بدون مشکل آپلود شده است. حتی ممکن است مشکلی در فرم ارسال فایل داشته باشید کدهای آن را نیز درج کنید. دقت کنید که نام تگ اینپوت فایل به حروف کوچک و بزرگ حساس است.

mohamad_a226
جمعه 26 مهر 1398, 15:46 عصر
روز بخیر

اول از همه $_FILES را با استفاده از var_dump چاپ کنید تا محتویات آن مشخص شود فایل بدون مشکل آپلود شده است. حتی ممکن است مشکلی در فرم ارسال فایل داشته باشید کدهای آن را نیز درج کنید. دقت کنید که نام تگ اینپوت فایل به حروف کوچک و بزرگ حساس است.
ممنون. کلا null برمیگردونه.
من الان تو postman دارم چک میکنم. به این شکل زدم. درست دارم وارد میکنم؟
150836

sunnywebco
جمعه 26 مهر 1398, 16:38 عصر
بهتر از مطالب آموزش خود php استفاده کنید
https://www.php.net/manual/en/features.file-upload.php

ali_sed
شنبه 27 مهر 1398, 13:36 عصر
ممنون. کلا null برمیگردونه.
من الان تو postman دارم چک میکنم. به این شکل زدم. درست دارم وارد میکنم؟


ظاهرا در این صفحه مشکلی نیست. فقط اینکه مقدار $_FILES یک آرایه باید باشه نه null . میخوایم بفهمیم که فایل بدون مشکل آپلود شده باشه بعد بریم مشکل ماژول fileinfo را بررسی کنیم.

در سربرگ HEADERS چه تنظیماتی انجام داده اید؟ توصیه شده است که Content-Type را در هدر حذف کنید