| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| الحاجة أم الإختراع ( 11 ) : نقل ملفات متسلسلة من موقع لآخر !! ..أحس السلسلة طالع منها غبااااااااااااار ..فآخر موضوع كتبته في هذه السلسلة قبل سنة تقريباً ..يا الله دارت الأيام بسرعة وهذا هو رمضان خلص ..حاجتنا اليوم عبارة عن مشكلة وقعت فيها وقد يقع فيها غيري .. لكن بتوفيق الله عز وجل يكون هناك حل لها .. طبعاً الأصل في نقل الملفات من موقع لآخر أن يستخدم البعض التلنت أو غيرها من الأمور المتعلقة بالسيرفرات .. لكن المشكلة أنه ليست كل السيرفرات توفر للمستضافين عندها التلنت أو غيره .. ناهيك عن عدم تجاوب بعض أصحاب السيرفرات مع هذه المشكلة .. ويظل الحل ( الغير عملي ) لهذه المشكلة هو تنزيل الملفات ثم تحميلها من جديد ..وإذا كانت الملفات مثلاً 200 ميجا .. فمثل ما يقولون .. موت ياحمار ههههههه .. سيأخذ ذلك وقتاً طويلاً خصوصاً أصحاب إتصالات الإنترنت الضعيفة مثلي ..وماواجهتني من مشكلة هي أني أردت نقل حوالي 200 ملف حجمهم تقريباً 300 ميجا من موقع لآخر .. وال 200 ملف هذه عبارة عن ملفات مضغوطة مثلاً ومرقمة من 1 إلى 200 .. بداية ظللت أبحث من خلال معارفي على الإنترنت ومن خارج الإنترنت عمن لديه إتصال سريع .. وعاد أنواع الشحاتة هههههه الله لايبلاكم ..وإذا بتوفيق من الله عز وجل ألهمت بفكرة سكربت بسيط جداً .. أضع لكم الكود ثم أشرح لكم إن شاءالله .. كود PHP: ويجب وضعه في المجلد بالموقع الجديد الذي نود نقل الملفات إليه مع ضرورة ترخيص المجلد 777 .. ستلاحظون في السطور الثلاثة الأولى وضعنا عبارة شرطية وهي أنه إذا وصل المتغير i إلى 200 وهو عدد الملفات التي نود نقلها يتوقف السكربت ويعرض عبارة تم النقل .. السطر الذي يلي ذلك وضعنا متغير = قيمة المتغير الحالية + 1 .. وأول ما نفتح السكربت ستكون قيمة هذا المتغير صفر ثم بالقيمة السابقة سيزيد 1 فيبدأ بالعمل من 1 ..مدري واضح كلامي السابق ولا لا هههههه .. السطر اللي بعده وضعنا الرابط الذي تقع فيه الملفات التي نود نقلها ولو لاحظتم سترون أن إسم الملف هو المتغير السابق الذي سيتغير كل مرة ويضاف إليه واحد إلى أن يصل إلى 200 طبعاً .. السطر الذي تلاه إستخدمنا في دالة جلب محتوى الملف والذي غالباً يكون كود غريب ..ثم إستخدمنا دوال الملفات في فتح ملف جديد بنفس الرقم الحالي الذي وصل إليه على الموقع الجديد ثم كما ترون إستخدمنا دالة الكتابة على الملف بحيث نكتب بالملف الجديد هذا محتوى الملف الذي فتحناه قبل قليل .. وكما ترون بالسطر قبل الأخير وضعنا ميتا الإنتقال التلقائي لنفس ملف السكربت لكن لو تلاحظون وضعنا i=$i لكي ينقل الملف قيمة المتغير الحالي فإذا فتح من جديد أضفنا عليه واحد فنقل الملف الذي يلي الملف السابق وهكذا .. إلى أن يصل إلى 201 فيتوقف ..أتمنى يكون الشرح وفكرة السكربت واضحة .. وترى ممكن إستخدام السكربت في نقل ولو ملف واحد مثلاً لكن يحبذ ما يكون حجمه كبير لكي لا تظهر أخطاء .. | |||||
|
| |||||
|
كود صغير و جميل يفيدنا في حالة نزول ملفات هنا في سوالف على دليل واحد بشرط كون الملفات بأسماء مرقمة بين الصفر و 201 ولكن في حالة كون الملفات فيها حروف فما العمل ؟ اقترح ان يتم استخدام كود PHP: و انطلاقا منها يمكنك ان تعمم الملفات الى جميع الامتدادات و الى جميع الادله ايضا مما يمكنك ان استخدامه لتحميل موقع كامل بجميع ملفات و محتوياته و لكن السؤال الذي يدور في ذهني بالنسبه الى الكود الذي طرحته هل يعمل مع ملفات php اي هل يمكن عمل هذا ؟! كود PHP:
__________________ نحوَ سوالف أفضل | |||||
|
| |||||
|
كود جميل و صغير جزاك الله الف خير أخوي رضا و لكن عندي سؤال بحسب اني عشيم في الامور هذي بس فهمت الكود و الحمد لله السؤال هو هل من الممكن جعله ينقل مجلدات و ليس ملفات يعني بدال ما اعدل اسماء كل الملفات اصنفهم مثل ما ابي في مجلدات و ارقمها ايضا و استخدم السكريبت فهل من الممكن ذلك الشكر واصل للجميع | |||||
|
| |||||
|
فكرة رائعة ورائده منك اخي المبدع دائما رضا السؤال كيف اضغط الملفات على الموقع الأول واعطيها الارقام التسلسلية ؟ لكي انقلها إلى الموقع الثاني أنا جربت غيرت اسم الملف فقط وتتم عملية النقل ولكن الملف بعد نقله حجمه صفر ونسأل الله لنا ولك جنات النعيم في هذا الشهر الكريم
__________________ تعلم فليس المرء يولد عالما | |||||
|
| |||||
|
فكرة رائعة أخي ما شاء الله و أظنها بداية لبرنامج كبير إن شاء الله جزاك الله خيرا رغم أني لست متخصصا في ال php لكن أحس أنه يمكن أن تتطور الفكرة ليشمل نقل مجلد كامل بمحتوياته (ولو كانت أسماء الملفات الداخلية عشوائية) من سيرفر لآخر ، ستحتاج إلى كود آخر يوضع في الموقع المراد نقل الملفات منه ليستكشف لك أسماء الملفات و المجلدات الموجود بالداخل و تخزينها، و كود يوضع في الموقع المراد نقل الملفات إليه يحمل الملفات المخزنة في الموقع الأول أو يمكن أن يتطور إلى FTP Server 2 Server نسخة php و الله أعلم | |||||
|
| |||||
|
السلام عليكم ..ماشاءالله حقيقة لم أكن أتوقع أن يكون هناك تفاعل ..المشوار .. معذرة لو تعيد إرسال رسالتك وتعنونها بإسمك هذا .. عبدالكريم ابو السعود .. شكراً على إضافتك ولو أني لم أفهمها ولعلي أجربها أيضاً إن شاءالله ..أما بخصوص سؤالك فبالطبع لايمكن نسخ ملف PHP بكوده البرمجي .. وهذا طبعاً لدواعي أمنية يفرضها المتصفح .. حيث لايمكن معرفة محتوى الملفات إلا فيما يختص بأوامر العرض وليس أوامر البرمجة والأكواد .. وبخصوص الملف الذي نقلته فالحمدلله خلال ثانية .. لكن مازال لدي خوف أن لايعمل بالشكل المطلوب في حالة كون حجم الملف مثلاً 500 ميجا .. ما جربت لسع لكن إن شاءالله ماتكون فيه مشكلة ..b happy .. دائماً البرمجة ليس لها نهاية .. ما كتبته هنا مجرد كود مبسط يفتح في ذهن المبرمج فكرة منطقية لحل المشكلة .. ما تقوله بالتأكيد يمكن عمله لكن سيحتاج بالطبع تطوير على الكود السابق ..ومبدئياً أنصحك بسكربت MyTar للأستاذ علي العنزي يمكن من خلاله ضغط مجلد معين وسيحفظ لك الملف المضغوط على موقعك القديم وفي موقعك الجديد يمكنك إستخدام الكود الذي كتبته فوق ( مع بعض التعديلات عليه ) لكي ينقل لك الملف ..abutawfig .. معذرة أخي يبدو فهمت خطأ .. الكود السابق في حالة وجود ملفات بموقعك أو أي موقع متسلسلة وتريد وضعها بموقع آخر لك .. وعلى كل راجع ردي للأخ b happy ..kjs1net .. راجع ردي للأخ b happy .. وبإختصار إضغط كامل مجلد مجلة النيوك سيكون لديك مثلا nuke.tar.gz وإنقله للموقع الجديد بعد التعديل على الكود السابق سيكون في موقعك الجديد كما هو مضغوط من خلال File Manager في cPanel تستطيع تفك الضغط ..مبرمج إنترنت .. نعم وسأضع مثال آخر إن شاءالله .. DesignsClub .. نعم صحيح لكن لاحظ ردي لـ kjs1net و عبدالكريم ابو السعود .. أستاذ Zizwar .. هههههه ما تدري يمكن نطلع سكربت ونعرضه مشفر هههههه ..وبخصوص ما ذكرته نعم يمكن عمل ذلك لكن بشرط أن يكون الموقعين لك صلاحية في الدخول عليهما .. لكن لو كان لديك موقع وتود تنسخ ملفات من موقع ليس لك فلا تستطيع سوى نسخ الملفات التي تعرض على المتصفح لكن الأكواد البرمجية لن تنسخ .. إلا في حالة كما قلت يكون هناك ملف آخر في الموقع الأول .. | |||||
|
| |||||
|
# مثال عملي لنقل ملفات صور قوالب موقع 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: $folder=substr($item,0,2); وهذا المتغير جعلنا قيمته تأتي عبر دالة تأخذ أول خانتين من المتغير الخاص برقم الصورة وطبعاً برابط الصورة وضعنا صفرين ..والمجال مفتوح لأفكار كثيرة لكن لعل هذه تلميحات لبعضها .. لاتنسوا المجلد الذي تضعوا فيه ملف السكربت هذا ترخصونه 777 ..ولأنه مثل ما قلت لكم سنبدأ من التصميم رقم 1000 فافتحوا الملف على الشكل هذا : index.php?item=999 | |||||
|
| |||||
|
عزيزي رضا،، السلام عليكم أخوي انا حاولت بالكودين مانفع 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 ؟؟؟ تحياتي لك
__________________ دع مايريبك الى ما لا يريبك...!! | |||||
|
| |||||
|
مشكور اخوي رضا بالنسبة لموضوع البرمجه لاحق عليه انا رايح ادرس هندسة برمجيات في كندا بعدها نتكلم انا و انت بالأكود المشفرة على العموم جاري البحث عن سكريبت أخوي العنزي جزاك الله الف خير و اياه بالتوفيق | |||||
|
| |||||
|
استاذي رضا،،، لازلت اعاني من نفس المشكله استاذي حيث الخطأ: Warning: Wrong parameter count for implode() in /home/mnf1com/public_html/ts/index.php on line 10 اين المشكله ؟؟ شاكر لك ابو خالد
__________________ دع مايريبك الى ما لا يريبك...!! | |||||
|
| |||||
|
استاذ رضا هل يمكنك اضافة شي للبرنامج ليقوم بنقل مجلدات ايضا مع محتوياتها لو تطلب الامر تركيب البرنامج على الموقعين القديم والجديد..؟ لانه فعلا سيكون انجاز لو اخذنا باعتبار انه لست بالضروره تنقل ملفات مضغوطة .. وبغض النظر عن الحجم لها ؟؟
__________________ www.qf-design.com | |||||
|
| |||||
|
we_scooter .. مافي شيء إسمه مستحيل .. كل شيء ممكن لكن يحتاج شوية تفكير .. وأعيد وأقول ما وضعته هنا مجرد مفتاح لفكرة ..برأيي قد يمكن ذلك عبر تعرف البرنامج على أسماء المجلدات ووضعها بمصفوفة ثم إستعراض المجلدات ووضع كل أسماء ملفاتها بمصفوفة أخرى ويبدأ شيء فشيء نقل المحتويات .. لكن العملية ستحتاج لكود مطول وحقيقة ليس لدي الوقت لعمله على الأقل حالياً ..لكن بإختصار بالطبع ممكن .. والبرمجة لها آفاق لاتنتهي لكن بالنهاية تحتاج تفكير منطقي جيد .. | |||||
|
![]() |
| |
| |
| أدوات الموضوع | |
| |