نظرة سريعة على مجريات يوم سوالف
الفائزون في المسابقة الأصغر لسوالف كاست

 

العودة   سوالف سوفت > قسم تطوير وبرمجة المواقع للمتقدمين > PHP
المدوّنات البحث مشاركات اليوم اجعل كافة المشاركات مقروءة

رد
 
LinkBack أدوات الموضوع
عضو نشيط
تاريخ التسجيل: Apr 2002-
#1 (permalink)  
الفرق بين copy() و move_uploaded_file()


السلام عليكم ..

كما نعلم الدالة copy() لنسخ الملفات من السيرفر من مسار إلى مسار آخر ..

اما الدالة move_uploaded_file() لنقل الملف المؤقت الذي تم تحميله إلى المسار التي تريدة في موقعك ..

ولكن السؤال هنا ... هل هناك فرق بين الداليتن في السرعه او مستوى الامان او غير ذلك ..

وذلك عند استخدامها في رفع الملفات من جهاز العميل إلى السيرفر






Ibrahim غير متواجد حالياً   قديم 06-08-2006, 03:14 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2005-
#2 (permalink)  

أخي ( Ibrahim ) ...

بالنسبة للدالتان المذكورتان يقومان بنفس العمل تقريباً ...

الفرق الوحيد على كلام الأكثرية أنه تم إكتشاف ثغرة في الدالة ( copy() ) ... ولكن الدالة ( move_uploaded_file() ) لا يوجد بها ثغرة ...


لذلك في أي سكريبت جديد عليك أن تستعمل الدالة ( move_uploaded_file() ) ... بدلاً من ( copy() ) ...

ولك خالص حبي وتقديري

Malphp






__________________
Arab Team 4 PHP
Malphp غير متواجد حالياً   قديم 06-08-2006, 05:45 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: May 2006-
#3 (permalink)  

شكرا على الجواب Malphp

طيب إذا عندي ملف على نفس السيرفر واريد انقله او اعمل إستبدال

مثلاً : في مركز التحميل عندي صورة مؤقتة للملفات المحجوبة ودائما استبدلها مكان الصور الممنوعة

علما ان رابط الملفات والصور في مركز التحميل هو رابط مباشر ( طبعا إذا كان الرابط غير مباشر فالمشكلة محلولة )

ماهو الحل إذا لم استخدم copy

وهل من الممكن تنفيذ اوامر السيرفر ( linux ) من خلال سكريبت وإذا كان ممكن ماهي الطريقة لو سمحتم

بانتظار الاجابة






__________________
مكتبة كتب لتعليم ال PHP والبرمجة
www.7loul.com
حلول للبرمجة غير متواجد حالياً   قديم 06-08-2006, 07:42 PM
رد مع اقتباس
عضو سوبر نشيط
تاريخ التسجيل: Apr 2004-
#4 (permalink)  

انا استعضت عن الدالة copy بالدالة move_uploaded_file
وكانت نفس النتيجة لكن حسب على ما تقول ان الدالة copy بها ثغرات ف استخدمت move_uploaded_file

جزاك الله الف خير الكريم






__________________
العرب للجميع - مجتمع عربي مفتوح
MSN: admin@arab2all.com
قريباً, مفاجأة الدعم الفني العربي
العرب للجميع غير متواجد حالياً   قديم 06-08-2006, 10:24 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Apr 2002-
#5 (permalink)  

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

للمعلومية للأخوة الفرق بين الدالتين كبير جداً
فالدالة ()copy تقوم بنسخ ملف من مكان لمكان آخر
أما الدالة ()move_uploaded_file فتقوم بنقل الملف المرفوع عن طريق php و نماذج html الى المجلد الذي تحدده ..

لذا فلا يصح استخدام ()copy في سكريبتات رفع الملفات وانما يجب استخدام ()move_uploaded_file لأنها تقوم بالتأكد من أن الملف مرفوع عن طريق السكريبت وموجود على نفس الدومين قبل نقله.. لذا تعتبر أكثر أمناً

تحياتي






__________________
mahmoud009 سابقاً
منتدى بي اتش بي
فِكرة لتقنية المعلومات
فِكرة غير متواجد حالياً   قديم 07-08-2006, 04:55 PM
رد مع اقتباس
عضو فعال جدا
تاريخ التسجيل: Jun 2003-
#6 (permalink)  

اقتباس:
فالدالة ()copy تقوم بنسخ ملف من مكان لمكان آخر
أما الدالة ()move_uploaded_file فتقوم بنقل الملف المرفوع عن طريق php و نماذج html الى المجلد الذي تحدده ..

كلام صحيح هذا هو الفرق .






__________________
إميل سعودي مجاني

htaccess بكل بساطة

الشفرة الموحدة "يونِكود"

(إن من مفاسد هذه الحضارة أنها تسمي الاحتيال ذكاءً، والانحلال حرية، و"الرذيلة فناً" والاستغلال معونة) - مصطفى السباعي
jadweb.com غير متواجد حالياً   قديم 07-08-2006, 08:49 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Nov 2003-
#7 (permalink)  

كلام صحيح

فالدالة copy توجد فيها ثغرة على حسب علمي






__________________
www.e4h.net.sa
www.e4h.com .sa
www.elite4host.net.sa
www.elite4host.com.sa
الرياض - حي الروضه مخرج (11) شارع عبدالرحمن الغافقي
ت - 2780978
فاكس تحويله رقم 108
e4h.net.sa غير متواجد حالياً   قديم 07-08-2006, 10:27 PM
رد مع اقتباس
عضو فعال
تاريخ التسجيل: Nov 2002-
#8 (permalink)  

الفرق البرمجي الذي ذكره الأخ محمود999






__________________
البريد
almuslim@gmail.com
الماسنجر
muslem@php.net
Mr.Muslem غير متواجد حالياً   قديم 07-08-2006, 11:54 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Feb 2003-
#9 (permalink)  

اخوان انا بدلت copy مع ()move_uploaded_file
لكن ما اشتغلت!!!
ومع الكوبي تشتغل رفع الصور

هل هذا بسبب السيرفر الشخصي؟






__________________
إستخدم ملفك الخاص لكتابة توقيعك
swa52 غير متواجد حالياً   قديم 10-08-2006, 12:09 PM
رد مع اقتباس
عضو نشيط
تاريخ التسجيل: Apr 2002-
#10 (permalink)  

اشكر الجميــع على المشاركة ..


بالفعل كما توقعت .. الدالة move_uploaded_file هي الاكثر امانا لأستخدامها في رفع الملفات ...

اخوي .. swa52

تأكد من المسار .. لأنها في كلا الحاليتن يتم النسخ او النقل ..






Ibrahim غير متواجد حالياً   قديم 14-08-2006, 03:04 AM
رد مع اقتباس
مشرف قسم تطوير المنتديات
تاريخ التسجيل: Jun 2005-
Blog Entries: 1
#11 (permalink)  

مطوري الـPHP ينصحون باستخدام move_uploaded_file()
في عملية رفع الملفات
http://www.php.net/manual/en/features.file-upload.php
اقتباس:
المشاركة الأصلية كتبت بواسطة swa52
اخوان انا بدلت copy مع ()move_uploaded_file
لكن ما اشتغلت!!!
ومع الكوبي تشتغل رفع الصور

هل هذا بسبب السيرفر الشخصي؟
استخم الـ"/" في تحديد المسار
كود:
   $uploaddirectory = '/uploads/';






__________________
######## PHP.SD ########
The launch was now

## mail@php.sd
HaMaDa4eVeR غير متواجد حالياً   قديم 21-08-2006, 02:26 PM
رد مع اقتباس
رد


أدوات الموضوع

تعليمات المشاركة
لا تستطيع كتابة مواضيع
لا تستطيع كتابة ردود
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن: 12:30 AM بتوقيت المملكة العربية السعودية