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

سؤال في ال php

مغلق
بدأه mjxp7 في 20 يوليو 2007 · 14 رد · 1,027 مشاهدة · في منتدى تطوير المواقع بـ PHP
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي هذا الكود لرفع ملف

اقتباس
$source = $_FILES['fupload']['tmp_name'];

$target = "upload/".$_FILES['fupload']['name'];

move_uploaded_file( $source, $target );// or die ("Couldn't copy");

هل استطيع تغيير $_FILES ب "c:\1.jpg" ولماذا؟؟

لأني جربت ذلك ولم ينجح الأمر ولا اعرف السبب؟؟؟

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#2

يمكنك استبدال tmp_name بالذي تريده مع ضرورة تكرار علامة الشرطة \\

بينما لايمكنك استبدال المتغير $_FILES مباشرة لأنه يعبر عن مصفوفة ويمكنك تعديل محتويات المصفوفة او الاضافة عليها كالسطر السابق وبالاضافة لذلك فان هذا المتغير متغير محجوز في لغة php ويستخدم لغرض معين وهو في حالة رفع الملفات للسيرفر

#3

شكرا جزيلا لردك اخ القرش

لكني حاولت التعديل على الكود كما يلي:

$source = $_FILES['fupload']['c:\\pic.jpg'];

$target = "upload/".$_FILES['fupload']['name'];
move_uploaded_file( $source, $target );// or die ("Couldn't copy");

ولم ينجح الامر لماذا؟؟

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#4

جرب تغيير:

$source = $_FILES['fupload']['c:\\pic.jpg'];

إلى:

$source = 'C:\pic.jpg';

مع أنه في الأساس لا تحتاج لإجراء هذا التغيير، لأنك سوف تختار الملف من الكود بالأسفل وهو سيرسل المعلومات إلى كود البي اتش بي ويقوم بنقل الملف للموقع الجديد

<input type='file' name='fupload' />

بالتوفيق

تم تعديل هذه المشاركة بواسطة عبدالله عيّاش في 20 يوليو 2007 في 23:11

sign3.jpg
#5

شكرا لمشاركتك اخ عبد الله

لكن هذا لم ينجح

اصبح الكود هكذا

<? 

$source = 'C:\pic.jpg';

$target = "upload/".$_FILES['fupload']['name'];
move_uploaded_file( $source, $target );// or die ("Couldn't copy");

?>

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#6

بعد التعديل اللذي أخبرتك سيصبح الكود هكذا:

$source = 'C:\pic.jpg';

$target = "upload/";
move_uploaded_file( $source, $target );// or die ("Couldn't copy");

لا يوجد حاجة لاستخدام متغير FILES إذا كان المصدر معروف

بالتوفيق

sign3.jpg
#7

شكرا لاهتمامك اخ عبد الله

لكن الكود لم يعمل

جربته على السيرفر الشخصي ولم ينجح

ورفعته الى موقعي واعطيته التصريحات اللازمة ولم يعمل ايضا

ما المشكلة؟؟؟

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#8

جرب هذا التعديل:

$file = 'pic.jpg';
$source = 'C:\pic.jpg';

$target = "upload/";
if(copy( $source, $target.$file )) {
	print 'okay';
} else {
	print 'no';
}

بالتوفيق

sign3.jpg
#9

لقد استخدمت الدالة copy

وهي تعمل بشكل ممتاز على السيرفر الشخصي

ولكن على الموقع لا تعمل ولا اعرف لماذا

اما move_uploaded_file فلم تعمل لا على السيرفر الشخصي ولا على الموقع

هل يوجد لهذه المشكلة حل؟؟؟

مع تحياتي

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#10

لن يعمل المثال أعلاه على السيرفر لأن الملف موجود على جهازك، الطريقة الوحيدة لرفع ملف على السيرفر هي إما عن طريق FTP أو باستخدام نموذج به خاصية الإدخال file والله أعلم.

بالنسبة لـ move_uploaded_file فهي ستعمل فقط مع المتغير FILES

بالتوفيق

sign3.jpg
#11
اقتباس
لن يعمل المثال أعلاه على السيرفر لأن الملف موجود على جهازك، الطريقة الوحيدة لرفع ملف على السيرفر هي إما عن طريق FTP أو باستخدام نموذج به خاصية الإدخال file والله أعلم.

يعني بدون نموذج به خاصية الإدخال file هذا مستحيل؟؟

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#12

بحسب علمي هذه الطريقة الوحيدة لرفع ملف عن طريق صفحة اتش تي ام ال، إذا كان هناك طريقة أخرى فأنا أعتذر لأني لا أعلمها.

بالتوفيق

sign3.jpg
#13

شكرا لمساعدتك اخ عبدالله

انا كان قصدي انه بدل من ارسال المعلومات لصفحة ال php من خلا صفحة اخرى نقوم بوضعها مباشرة ومنذ البداية في الصفحة

ارجو ان يكون لد احد من الاعضاء حل ما

مع تحياتي

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

#14

تستطيع عمل صفحة واحدة تقوم بكل ما تريد يكون فيها نموذج رفع البيانات وفيها كود البي اتش بي لمعالجة النموذج.

لكن هناك اساسيات يجب اتباعها للوصول للنتيجة المطلوبة بحيث يكون بناء الصفحة كالتالي:

1- نموذج form لوضع عناصر الإدخال مع إضافة توجيه action للمكان اللذي نريد إرسال محتويات النموذج إليه سواءا في نفس الصفحة أو صفحة أخرى

2- عناصر الإدخال input بجميع أنواعها حسب المطلوب ومنها على سبيل المثال file

3- زر تنفيذ الأمر submit لإرسال المحتويات إلى الوجهة اللتي حددناها في النموذج

4- كود معالجة البيانات إما بإظهار نتيجة مباشرة أو تخزين البيانات في قاعدة بيانات أو بنسخ الملفات على السيرفر أو أي شيء نريد

هذه هي الأساسيات اللتي يجب تتوفر في أي صفحة لرفع بيانات ومعالجتها على السيرفر

بالتوفيق

sign3.jpg
#15

سأحاول ان شاء الله

شكرا لك

اسم الشركه : mj7.org
صاحب الشركه : محمد جمال الذياب.
أداء الشركـــه : برمجة و تصميم و ادارة المواقع للمنشآت و الافراد
بريد الشركـــه : mj@mj7.org
هاتف الشركه : 00963991354290
الدعم الفنــــي :mjxp7@hotmail.com

هذا الموضوع مغلق.

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