الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة فى رفع الملفات File Upload

بدأه magdy.ahmed في 26 أكتوبر 2012 · 5 رد · 2,432 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليم

كل عام وانتم بخير

منذ يوم تم تحديث الخادم الذى علية موقعى،

(الموقع به جزء اخبارى يسمح بكاتية الخبر ورفع صوره مرفقة)

منذ عملية التحديث، وقابلتنى مشكلة رفع الملفات، فأصبح المستخدم غير قادر على رفع اى ملف (جربت jpg، وzip ، وامتدات عشوائية) باحجام صغيره (7 ك) وكبيره ، بدون ادنى فائدة، كلها فشلت، مع العلم ان قبل التحديث لم تكن هذه المشكلة موجوده وكن يقبل اى ملف. (ولم اقوم باى تعديل او تغير فى ملفات الموقع htm و php )

كود رفع الملفات

<form method="POST" enctype="multipart/form-data" action="uploadimage.php">
	<p><input type="file" name="uploadimage" size="60"></p>
	<p><input type="submit" value="Submit"></p>
</form>

كود php

	if($_FILES['uploadimage']['error'] == 0)
	{ 
		if(move_uploaded_file($_FILES['uploadimage']['tmp_name'], "./images/".$_FILES['uploadimage']['name']))
		{
			echo "Success";
		}
		else
		{
			echo "Fail move";
		}
	}
	else
	{
		echo "Fail error code: ".$_FILES['uploadimage']['error']; // هذا هو الخطأ الذى ينتج والكود = 8
	}

صلاحيات المجلد الذى يتم حفظ الملفات فية 0755، ولا يحتوى على ملف .htaccess

النتجة بعد محاولة الرفع (خطأ: "File upload stopped by extension")

$_FILES['uploadimage']['size'] =  0
$_FILES['uploadimage']['tmp_name'] = 
$_FILES['uploadimage']['error'] = 8	// UPLOAD_ERR_EXTENSION

عند استعاد الدالة : get_loaded_extensions ، كانت النتيجة

[0] => Core 
[1] => date 
[2] => ereg 
[3] => libxml 
[4] => openssl 
[5] => pcre 
[6] => sqlite3 
[7] => zlib 
[8] => bcmath 
[9] => bz2 
[10] => calendar 
[11] => ctype 
[12] => curl 
[13] => dom 
[14] => filter 
[15] => ftp 
[16] => gd 
[17] => gettext 
[18] => hash 
[19] => iconv 
[20] => json 
[21] => mbstring 
[22] => mcrypt 
[23] => mysql 
[24] => SPL 
[25] => mysqli 
[26] => session 
[27] => posix 
[28] => Reflection 
[29] => standard 
[30] => SimpleXML 
[31] => sockets 
[32] => Phar 
[33] => tokenizer 
[34] => xml 
[35] => xmlreader 
[36] => xmlrpc 
[37] => xmlwriter 
[38] => xsl 
[39] => zip 
[40] => cgi-fcgi 
[41] => suhosin 
[42] => PDO 
[43] => pdo_sqlite 
[44] => SQLite 
[45] => pdo_mysql 
[46] => ionCube Loader

بيانات الخادم قبل التحديث

cPanel Version          11.30.5 (build 2)
Apache version          2.2.15
PHP version             5.3.2
MySQL version           5.0.92-community-log
Architecture            x86_64
Operating system        linux

بيانات الخادم بعد التحديث

cPanel Version          11.34.0 (build 5)
Apache version          2.2.23
PHP version             5.3.18
MySQL version           5.5.27-cll
Architecture            x86_64
Operating system        linux

هل suhosin extension قد يكون هو سبب المشكلة ؟ وهل من طريقة لحل هذه المشكلة بغض النظر اذا suhosin extension هو السبب او السبب غير ذلك ؟

تم تعديل هذه المشاركة بواسطة magdy.ahmed في 27 أكتوبر 2012 في 07:11

#2

و عليكم السلام اخي ممكن ترفع كود ال php وتأكد من صلاحيات الوصول للمجلد الذي تحفظ الملفات فيه

#3

كود php

	if($_FILES['uploadimage']['error'] == 0)
	{ 
		if(move_uploaded_file($_FILES['uploadimage']['tmp_name'], "./images/".$_FILES['uploadimage']['name']))
		{
			echo "Success";
		}
		else
		{
			echo "Fail move";
		}
	}
	else
	{
		echo "Fail error code: ".$_FILES['uploadimage']['error']; // هذا هو الخطأ الذى ينتج والكود = 8
	}

صلاحيات المجلد 0755

المجلد لا يحتوى على ملف .htaccess

الكود كان يعمل قبل التحديث

ولم يتم تغير الكود أو الصلاحيات بعد عملية التحديث

ملحوظة: كود الخطأ الناتج هو 8 (UPLOAD_ERR_EXTENSION) ويعنى : "A PHP extension stopped the file upload."

وليس كود الخطأ 7 (UPLOAD_ERR_CANT_WRITE) والذى يعنى : "Failed to write file to disk" ، وكود الخطأ 7 هو الذى غالباً ينتج بسبب عدم ضبط الصلاحيات.

تم تعديل هذه المشاركة بواسطة magdy.ahmed في 27 أكتوبر 2012 في 05:17

#4

وعليكم السلام ورحمة الله وبركاتة

وكل عام وأنت والأمة الإسلامية بخير

بالنسبة للخطأ الذي ظهر فهو بسبب تحديث السرفر كما أشرت أنت وهذا نص الخطأ من موقع php :

 UPLOAD_ERR_EXTENSION
	Value: 8; A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.

فعليك تعديل إعدادات php أو مخاطبة المسئول عن السرفر لتهيئته

وهذا رابط أيضاً به نفس المشكلة وطريقة الحل جربها

ملاحظة : لكي توفر على نفسك عناء إنتظار الرد من أحد فقط ضع صيغة الخطأ في أي من محركات البحث وستجد بإذن الله مبتغاك .

لاتحسبن العلم ينفع وحده مالم يتوج ربه بخلاق

لا إله إلا أنت سبحانك إني كنت من الظالمين

#5
ahmedsaoud31 كتب:

وعليكم السلام ورحمة الله وبركاتة

وكل عام وأنت والأمة الإسلامية بخير

بالنسبة للخطأ الذي ظهر فهو بسبب تحديث السرفر كما أشرت أنت وهذا نص الخطأ من موقع php :

 UPLOAD_ERR_EXTENSION
	Value: 8; A PHP extension stopped the file upload. PHP does not provide a way to ascertain which extension caused the file upload to stop; examining the list of loaded extensions with phpinfo() may help. Introduced in PHP 5.2.0.

فعليك تعديل إعدادات php أو مخاطبة المسئول عن السرفر لتهيئته

وهذا رابط أيضاً به نفس المشكلة وطريقة الحل جربها

ملاحظة : لكي توفر على نفسك عناء إنتظار الرد من أحد فقط ضع صيغة الخطأ في أي من محركات البحث وستجد بإذن الله مبتغاك .

لم تنجح

#6

الخطأ في طرف السيرفر اخي اعدادات بي اتش بي

=============
الطموح و الحافز سر النجاح

=============

AflamHQ.com | Palphp.com

مواضيع مشابهة