مشکل آپلود عکس محصولات پرستاشاپ به دلیل استفاده این سیستم از تابع خطرناکی به نام exec است. معمولا مدیران هاستینگ برای امنیت بیشتر سرویس خود این تابع را در php غیر فعال می کنند و از آنجایی که پرستاشاپ در قسمت آپلود تصاویر از این تابع استفاده می کند ، سیستم به درستی کار نمی کند. برای رفع این مشکل می توانید از راه کار های زیر استفاده نمایید.

رفع مشکل آپلود عکس محصولات پرستاشاپ

رفع مشکل آپلود عکس محصولات پرستاشاپ با استفاده از فایل images.inc.php :

ابتدا وارد مدیریت هاست خود شوید و سپس به فایل منیجر خود وارد شوید و سپس فایل images.inc.php را در ریشه پرستاشاپ خود ( معمولا public_html ) خود پیدا کنید و ویرایش کنید :

دو خط زیر را پیدا کنید :


finfo_close($finfo);
}

و

foreach ($types AS $type)

سپس تمام کد های زیر را ابتدا کپی کنید و سپس بین این دو خط تمام آنها را جایگزین نمایید :

نکته : قبل از هر ویرایشی از فایل خود پشتیبان تهیه کنید تا در صورت وجود مشکل از آن استفاده نمایید.


elseif (function_exists('mime_content_type'))
$mimeType = mime_content_type($file

['tmp_name']);

elseif (function_exists('exec00'))
{
$mimeType = trim(exec('file -b --mime-type '.escapeshellarg($file['tmp_name'])));
if (!$mimeType) $mimeType = trim(exec('file --mime '.escapeshellarg($file['tmp_name'])));
if (!$mimeType) $mimeType = trim(exec('file -bi '.escapeshellarg($file['tmp_name'])));
}

if (empty($mimeType) OR $mimeType == 'regular file' OR $mimeType == 'text/plain')
$mimeType = $file['type'];

سپس فایل را ذخیره کنید و تست کنید که مشکل شما رفع شد یا خیر

2- درخواست فعال کردن تابع exec را به هاستینگ خود ارسال کنید :

همانطور که قبلا گفتیم تابع exec به دلیل امنیت در سرور مسدود می شود اما می توانید یک درخواست در این مورد به پشتیبانی هاست خود ارسال کنید ، ممکن است آنها این تابع را تنها برای سایت شما باز کنند.

3- سطح دسترسی پوشه آپلود را بررسی کنید :

بررسی کنید که پوشه آپلود پرستاشاپ شما با سطح دسترسی محدود تنظیم نشده است ، برای تست می توانید سطح دسترسی را به 777 تغییر دهید . مسیر /img/p

توجه کنید که سطح دسترسی 777 سطح دسترسی خطرناکی است و در صورتی که با 777 مشکل سایت شما رفع شد از پشتیبانی هاست خود درخواست کنید تا suphp را برای شما فعال کنند تا پرستاشاپ با سطح دسترسی 755 نیز کار کند.

4- از هاست پرستاشاپ استفاده نمایید :

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