رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در آپلود فایل PSD
#1
سلام، ببخشید یادم رفته بود متن رو بنویسم، نگاه کنید، بنده از کد زیر برای آپلود استفاده می کنم، برای فرمت های GIF,PNG,JPG درست کار می کنه ولی برای PSD علاوه بر اینکه آپلود نمی کنه، نامش رو هم در دیتابیس ذخیره نمی کنه و فقط نقطه جداسازی فرمت رو ثبت می کنه ...

                case'addProduct':

                    list($file, $psd) = array($_FILES['file'], $_FILES['psdAttachment']);

                    $newFileName = '';
                    $newPSDName = '';

                    $fileMimes = array(
                        'image/gif' => 'gif',
                        'image/jpeg' => 'jpg',
                        'image/png' => 'png',
                    );

                    $psdMimes = array(
                        'image/vnd.adobe.photoshop' => 'psd'
                    );

                    if ($file['error'] == 0 && in_array($file['type'], array_keys($fileMimes))) {
                        $newFileName = md5($file['name'] . time() . rand(1, 99999));
                        if (move_uploaded_file($file['tmp_name'], 'uploads/' . $newFileName . '.' . $fileMimes[$file['type']])) {
                            echo '<div>تصویر مربوط به مطلب شما به درستی آپلود شد !</div>';
                        }
                    }

                    if ($psd['error'] == 0 && in_array($psd['type'], array_keys($psdMimes))) {
                        $newPSDName = md5($psd['name'] . time() . rand(1, 99999));
                        if (move_uploaded_file($psd['tmp_name'], 'uploads/' . $newPSDName . '.' . $psdMimes[$psd['type']])) {
                            echo '<div>فایل الحاقی به درستی آپلود شد !</div>';
                        }
                    }

                    $user = new User;
                    $result = $user->addProduct($_POST['author'], $_POST['avatar'], $_POST['name'], $_POST['explanation'], $_POST['tutorial'], $_POST['subID'], $newFileName . '.' . $fileMimes[$file['type']], $newPSDName . '.' . $psdMimes[$psd['type']], $_POST['userID'], $time, $date);
                    if ($result == 0) {
                        echo '<div>مطلب شما به درستی فرستاده شد !</div>';
                        if (!empty($_SERVER['HTTP_REFERER'])) {
                            header("Refresh:5;url={$_SERVER['HTTP_REFERER']}");
                        } else {
                            echo "هیچ بازگشتی نیست ! لطفا به صورت دستی به صفحه قبل باز گردید !";
                        }

                    } else {
                        echo '<div>فرستادن مطلب با مشکل مواجه شد !</div>';
                        if (!empty($_SERVER['HTTP_REFERER'])) {
                            header("Refresh:5;url={$_SERVER['HTTP_REFERER']}");
                        } else {
                            echo "هیچ بازگشتی نیست ! لطفا به صورت دستی به صفحه قبل باز گردید !";
                        }
                    }
                    break;

ارورش هم اینه :
Notice: Undefined index: application/octet-stream in D:\WampServer\www\dribbble\Initial.php on line 113
Call Stack
# Time Memory Function Location
1 0.0013 245832 {main}( ) ..\Initial.php:0
مطلب شما به درستی فرستاده شد !

خط 113 هم مربوط به اون خط گرفتن مقادیر و ثبت در دیتابیس هستش !
[عکس: v5dveblcrbgx.png]
پاسخ
تشکر شده توسط:
#2
خوب مشکل چیه؟ چه خطایی دریافت میکنید؟
پاسخ
تشکر شده توسط: ABZiko
#3
درست شد ...
[عکس: v5dveblcrbgx.png]
پاسخ
تشکر شده توسط:
#4
لطفاً برای استفاده سایرین، راه حل رو هم اعلام کنید.
پاسخ
تشکر شده توسط: ABZiko
#5
چشم ...
بنده از یک Mime دیگه برای فایل های PSD استفاده می کردم ولی متوجه شدم که باید از این Mime استفاده کنم :
application/octet-stream
[عکس: v5dveblcrbgx.png]
پاسخ
تشکر شده توسط:
#6
این MIME Type یه چیز کلیه برای وقتی که نمیدونید چی بگذارین. اینو تست کنید: image/vnd.adobe.photoshop
پاسخ
تشکر شده توسط: ABZiko
#7
این قبلا استفاده کرده بودم ولی کار نمی کنه ...
[عکس: v5dveblcrbgx.png]
پاسخ
تشکر شده توسط:
#8
یه بار یه فایل سالم PSD آپلود کنید و ['FILES['photo']['type_$ رو نمایش بدین ببینین چی مینویسه. حدس میزنم توی سیستمهای عامل مختلف، MIME Type متفاوتی داشته باشه. یکی دوتا از انواع فایل رو میشناسم که توی سیستمهای مختلف MIME متفاوتی دارن. شاید Photoshop هم از وقتی شرکت Adobe رو مایکروسافت خریده، به جمع نرم افزارهایی که رفتارهای نامعقول نشون میدن اضافه شده باشه!
پاسخ
تشکر شده توسط: ABZiko
#9
استاد، این رو می نویسه ...
application/octet-stream
[عکس: v5dveblcrbgx.png]
پاسخ
تشکر شده توسط:
#10
پس باید با همون کار کنید.
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان