صفحة 1 من 3 123 الأخيرةالأخيرة
النتائج 1 إلى 15 من 38

الموضوع: الحاجة أم الإختراع ( 11 ) : نقل ملفات متسلسلة من موقع لآخر !!

  1. #1
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697

    الحاجة أم الإختراع ( 11 ) : نقل ملفات متسلسلة من موقع لآخر !!



    السلام عليكم ..
    أحس السلسلة طالع منها غبااااااااااااار ..
    فآخر موضوع كتبته في هذه السلسلة قبل سنة تقريباً ..
    يا الله دارت الأيام بسرعة وهذا هو رمضان خلص ..

    حاجتنا اليوم عبارة عن مشكلة وقعت فيها وقد يقع فيها غيري .. لكن بتوفيق الله عز وجل يكون هناك حل لها ..
    طبعاً الأصل في نقل الملفات من موقع لآخر أن يستخدم البعض التلنت أو غيرها من الأمور المتعلقة بالسيرفرات ..
    لكن المشكلة أنه ليست كل السيرفرات توفر للمستضافين عندها التلنت أو غيره .. ناهيك عن عدم تجاوب بعض أصحاب السيرفرات مع هذه المشكلة ..
    ويظل الحل ( الغير عملي ) لهذه المشكلة هو تنزيل الملفات ثم تحميلها من جديد ..
    وإذا كانت الملفات مثلاً 200 ميجا .. فمثل ما يقولون .. موت ياحمار ههههههه .. سيأخذ ذلك وقتاً طويلاً خصوصاً أصحاب إتصالات الإنترنت الضعيفة مثلي ..

    وماواجهتني من مشكلة هي أني أردت نقل حوالي 200 ملف حجمهم تقريباً 300 ميجا من موقع لآخر ..
    وال 200 ملف هذه عبارة عن ملفات مضغوطة مثلاً ومرقمة من 1 إلى 200 ..
    بداية ظللت أبحث من خلال معارفي على الإنترنت ومن خارج الإنترنت عمن لديه إتصال سريع .. وعاد أنواع الشحاتة هههههه الله لايبلاكم ..
    وإذا بتوفيق من الله عز وجل ألهمت بفكرة سكربت بسيط جداً ..

    أضع لكم الكود ثم أشرح لكم إن شاءالله ..

    كود PHP:
    if($i=="200"){
    echo
    "تم النقل";
    }else{
    $i=$i+1;
    $file="http://www.oldsite.com/files/$i.zip";
    $file=implode(file($file));
    $fp=fopen("$i.zip","w");
    fwrite($fp,$file);
    fclose($fp);
    echo
    "<meta http-equiv='Refresh' content='5; URL=index.php?i=$i'>";

    لنفترض أن الكود السابق في ملف إسمه index.php ..
    ويجب وضعه في المجلد بالموقع الجديد الذي نود نقل الملفات إليه مع ضرورة ترخيص المجلد 777 ..
    ستلاحظون في السطور الثلاثة الأولى وضعنا عبارة شرطية وهي أنه إذا وصل المتغير i إلى 200 وهو عدد الملفات التي نود نقلها يتوقف السكربت ويعرض عبارة تم النقل ..
    السطر الذي يلي ذلك وضعنا متغير = قيمة المتغير الحالية + 1 ..
    وأول ما نفتح السكربت ستكون قيمة هذا المتغير صفر ثم بالقيمة السابقة سيزيد 1 فيبدأ بالعمل من 1 ..
    مدري واضح كلامي السابق ولا لا هههههه ..
    السطر اللي بعده وضعنا الرابط الذي تقع فيه الملفات التي نود نقلها ولو لاحظتم سترون أن إسم الملف هو المتغير السابق الذي سيتغير كل مرة ويضاف إليه واحد إلى أن يصل إلى 200 طبعاً ..
    السطر الذي تلاه إستخدمنا في دالة جلب محتوى الملف والذي غالباً يكون كود غريب ..
    ثم إستخدمنا دوال الملفات في فتح ملف جديد بنفس الرقم الحالي الذي وصل إليه على الموقع الجديد ثم كما ترون إستخدمنا دالة الكتابة على الملف بحيث نكتب بالملف الجديد هذا محتوى الملف الذي فتحناه قبل قليل ..
    وكما ترون بالسطر قبل الأخير وضعنا ميتا الإنتقال التلقائي لنفس ملف السكربت لكن لو تلاحظون وضعنا i=$i لكي ينقل الملف قيمة المتغير الحالي فإذا فتح من جديد أضفنا عليه واحد فنقل الملف الذي يلي الملف السابق وهكذا .. إلى أن يصل إلى 201 فيتوقف ..

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





    رضا غير متواجد حالياً


  2. #2
    عضو نشيط
    تاريخ التسجيل
    Apr 2004
    المشاركات
    146


    السلام عليكم

    الله عليك ياشيخ
    هوه دا الكلام

    ماشاء الله عليك رضا فنان بصراحه وعندك افكار جهنميه

    عموما

    لاتحرمنا جديدك

    احترامي





    __________________
    No mercy in life
    Khayaly غير متواجد حالياً

  3. #3
    عضو فعال
    تاريخ التسجيل
    Oct 2003
    المشاركات
    1,264


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






    __________________
    (( لا تنسي ذكر الله ))
    ليس الجمال بأثوبا تزيننا ان الجمال جمال العلم والادب
    المشوار غير متواجد حالياً

  4. #4
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,231


    كود صغير و جميل يفيدنا في حالة نزول ملفات هنا في سوالف على دليل واحد بشرط كون الملفات بأسماء مرقمة بين الصفر و 201
    ولكن في حالة كون الملفات فيها حروف فما العمل ؟
    اقترح ان يتم استخدام
    كود PHP:
    [-_.[:alnum:]] 
    الذي يعمم على جميع الارقام و الحروف سواء الصغير منها او الكبير
    و انطلاقا منها يمكنك ان تعمم الملفات الى جميع الامتدادات و الى جميع الادله ايضا
    مما يمكنك ان استخدامه لتحميل موقع كامل بجميع ملفات و محتوياته
    و لكن السؤال الذي يدور في ذهني بالنسبه الى الكود الذي طرحته
    هل يعمل مع ملفات php اي هل يمكن عمل هذا ؟!
    كود PHP:
    $file="http://www.oldsite.com/files/$i.php"
    و يقوم بتحميل الملف بصورته الاصليه ؟





    __________________
    نحوَ سوالف أفضل
    عبدالكريم ابو السعود غير متواجد حالياً



  5. كود جميل و صغير جزاك الله الف خير أخوي رضا و لكن عندي سؤال بحسب اني عشيم في الامور هذي بس فهمت الكود و الحمد لله السؤال هو هل من الممكن جعله ينقل مجلدات و ليس ملفات يعني بدال ما اعدل اسماء كل الملفات اصنفهم مثل ما ابي في مجلدات و ارقمها ايضا و استخدم السكريبت فهل من الممكن ذلك

    الشكر واصل للجميع





    __________________
    سبحان الله و بحمده .... سبحان الله العظيم

    للمراسلة
    b happy غير متواجد حالياً

  6. #6
    عضو فعال
    تاريخ التسجيل
    Nov 2002
    المشاركات
    1,231



    لقد استخدمت الكود لنقل backup حجمه 60 ميجا من host الى host في ثانيه واحده
    شكرا لك اخي العزيز رضا على الفكره الرائعه
    بصراحه جيت في وقتك





    __________________
    نحوَ سوالف أفضل
    عبدالكريم ابو السعود غير متواجد حالياً

  7. #7
    عضو سوبر نشيط
    تاريخ التسجيل
    Nov 2001
    المشاركات
    639


    فكرة رائعة ورائده منك اخي المبدع دائما رضا
    السؤال
    كيف اضغط الملفات على الموقع الأول واعطيها الارقام التسلسلية ؟
    لكي انقلها إلى الموقع الثاني

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

    ونسأل الله لنا ولك جنات النعيم في هذا الشهر الكريم





    __________________
    تعلم فليس المرء يولد عالما
    abutawfig غير متواجد حالياً

  8. #8
    عضو نشيط
    تاريخ التسجيل
    Jul 2001
    المشاركات
    172


    اخي الكريم جزاك الله كل الخير
    ماذا لو أردت نقل فولدر كامل (الموقع كاملاً)كما تعرف المجلات تحتوي على مجلدات كثيرة ولو استخدمنا الكود سوف نجل اياما


    أعرف ان فايلات المجلة ضغيرة ولكني أريد أن أتم النقل بسرعة





    kjs1net غير متواجد حالياً

  9. #9
    عضو سوبر نشيط
    تاريخ التسجيل
    Aug 2004
    المشاركات
    932


    هل أستطيع مثلاً نسخ ملف من موقع إلى موقعي بهذه الطريقة ؟؟

    أي أن الموقع المصدر ليس ملكي ..
    يعني بالمختصر كأني أسوي داونلود على موقعي بدل جهازي ؟؟!





    __________________
    نحن أمة إقرأ التي لا تقرأ
    مبرمج إنترنت غير متواجد حالياً

  10. #10
    عضو نشيط جدا
    تاريخ التسجيل
    Apr 2004
    المشاركات
    583


    مشكور اخوى رضا على هذا الكود


    نعم اخوى مبرمج إنترنت تستطيع نسخ ملف من موقع الى موقعك





    Dea غير متواجد حالياً

  11. #11
    فضلاً اكتب اسمك الحقيقي هنا
    زائرDesignsClub


    ماشاء الله تبارك الله اخي رضا

    بالنسبة للسكربت من خلال فهمي له

    تقدر تنقل مجلد مجلة النيوك مثلا من خلال موقعهم الى موقعك في ثواني
    ويمكن اكون غلطان






  12. #12
    خبير JavaScript
    تاريخ التسجيل
    Jul 2002
    المشاركات
    2,920


    فكرة رائعة أخي ما شاء الله و أظنها بداية لبرنامج كبير إن شاء الله
    جزاك الله خيرا
    رغم أني لست متخصصا في ال php لكن أحس أنه
    يمكن أن تتطور الفكرة ليشمل نقل مجلد كامل بمحتوياته (ولو كانت أسماء الملفات الداخلية عشوائية) من سيرفر لآخر ، ستحتاج إلى كود آخر يوضع في الموقع المراد نقل الملفات منه ليستكشف لك أسماء الملفات و المجلدات الموجود بالداخل و تخزينها، و كود يوضع في الموقع المراد نقل الملفات إليه يحمل الملفات المخزنة في الموقع الأول

    أو يمكن أن يتطور إلى FTP Server 2 Server نسخة php
    و الله أعلم








    Zizwar غير متواجد حالياً

  13. #13
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    السلام عليكم ..
    ماشاءالله حقيقة لم أكن أتوقع أن يكون هناك تفاعل ..

    المشوار .. معذرة لو تعيد إرسال رسالتك وتعنونها بإسمك هذا ..

    عبدالكريم ابو السعود .. شكراً على إضافتك ولو أني لم أفهمها ولعلي أجربها أيضاً إن شاءالله ..
    أما بخصوص سؤالك فبالطبع لايمكن نسخ ملف PHP بكوده البرمجي ..
    وهذا طبعاً لدواعي أمنية يفرضها المتصفح ..
    حيث لايمكن معرفة محتوى الملفات إلا فيما يختص بأوامر العرض وليس أوامر البرمجة والأكواد ..
    وبخصوص الملف الذي نقلته فالحمدلله خلال ثانية .. لكن مازال لدي خوف أن لايعمل بالشكل المطلوب في حالة كون حجم الملف مثلاً 500 ميجا .. ما جربت لسع لكن إن شاءالله ماتكون فيه مشكلة ..

    b happy .. دائماً البرمجة ليس لها نهاية .. ما كتبته هنا مجرد كود مبسط يفتح في ذهن المبرمج فكرة منطقية لحل المشكلة .. ما تقوله بالتأكيد يمكن عمله لكن سيحتاج بالطبع تطوير على الكود السابق ..
    ومبدئياً أنصحك بسكربت MyTar للأستاذ علي العنزي يمكن من خلاله ضغط مجلد معين وسيحفظ لك الملف المضغوط على موقعك القديم وفي موقعك الجديد يمكنك إستخدام الكود الذي كتبته فوق ( مع بعض التعديلات عليه ) لكي ينقل لك الملف ..

    abutawfig .. معذرة أخي يبدو فهمت خطأ .. الكود السابق في حالة وجود ملفات بموقعك أو أي موقع متسلسلة وتريد وضعها بموقع آخر لك .. وعلى كل راجع ردي للأخ b happy ..

    kjs1net .. راجع ردي للأخ b happy .. وبإختصار إضغط كامل مجلد مجلة النيوك سيكون لديك مثلا nuke.tar.gz وإنقله للموقع الجديد بعد التعديل على الكود السابق سيكون في موقعك الجديد كما هو مضغوط من خلال File Manager في cPanel تستطيع تفك الضغط ..

    مبرمج إنترنت .. نعم وسأضع مثال آخر إن شاءالله ..

    DesignsClub .. نعم صحيح لكن لاحظ ردي لـ kjs1net و عبدالكريم ابو السعود ..

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





    رضا غير متواجد حالياً

  14. #14
    عضو فعال جدا
    تاريخ التسجيل
    Dec 2000
    المشاركات
    2,697


    # مثال عملي لنقل ملفات صور قوالب موقع Template Monster إلى موقعك #

    بداية لاشك أن موقع مثل www.templatemonster.com يحتوي على آلاف التصاميم الخاصة بالمواقع والتي تحمل أفكاراً رائعة يستفيد منها أي مصمم ..
    وما سأكتبه بعد قليل مثالي عملي للكود السابق مع بعض التطوير والتعديل يمكننا من خلاله نقل ملفات صور قوالب موقع Template Monster إلى موقعك ..
    ولسبب فني بسيط سأجعل الكود ينقل ملفات صور القوالب من 1000 إلى 6810 وهو آخر تصميم بالموقع وقت كتابتي لهذا الكود ..
    وكمثال للصور التي سننقلها هذا :
    http://images.templatemonster.com/sc...100/1111-b.jpg
    طبعا يجب ملاحظة أمر مهم صحيح أننا سننقل حوالي 5810 ملف لكن يجب أن ننتبه أن كل 100 تصميم موجودة بمجلد إسمه عبارة عن الرقم لكن يرجع للمئة التي بدأ منها ..
    مثلاً التصميم رقم 5449 مجلده 5400 والتصميم رقم 4105 مجلده 4100 وهكذا .. ويمكن أن نقول أول رقمين من اليسار مضاف عليهم صفرين ..
    والآن إلى الكود :

    كود PHP:
    if($item=="6810"){
    echo
    "تم النقل";
    }else{
    $item=$item+1;
    $folder=substr($item,0,2);
    $folder="$folder"."00";
    $file="http://images.templatemonster.com/screenshots/$folder/$item-b.jpg";
    $file=implode(file($file));
    $fp=fopen("$item.jpg","w");
    fwrite($fp,$file);
    fclose($fp);
    echo
    "<meta http-equiv='Refresh' content='2; URL=index.php?item=$item'>";

    طبعاً ربما الكود السابق مفهوم حسب الشرح بالموضوع لكن لعل الجديد :
    $folder=substr($item,0,2);
    وهذا المتغير جعلنا قيمته تأتي عبر دالة تأخذ أول خانتين من المتغير الخاص برقم الصورة وطبعاً برابط الصورة وضعنا صفرين ..
    والمجال مفتوح لأفكار كثيرة لكن لعل هذه تلميحات لبعضها ..
    لاتنسوا المجلد الذي تضعوا فيه ملف السكربت هذا ترخصونه 777 ..
    ولأنه مثل ما قلت لكم سنبدأ من التصميم رقم 1000 فافتحوا الملف على الشكل هذا :
    index.php?item=999





    رضا غير متواجد حالياً

  15. #15
    عضو نشيط
    تاريخ التسجيل
    Nov 2002
    المشاركات
    162


    عزيزي رضا،،


    السلام عليكم

    أخوي انا حاولت بالكودين مانفع


    Warning: file("http://images.templatemonster.com/scre enshots//14-b.jpg") - Success in /home/mnf1com/public_html/ts/index.php on line 10

    Warning: Wrong parameter count for implode() in /home/mnf1com/public_html/ts/index.php on line 10



    ؟؟؟

    تحياتي لك





    __________________
    دع مايريبك الى ما لا يريبك...!!
    ضيف1995 غير متواجد حالياً





ضوابط المشاركة

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

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض