سوالف اندرويد




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

الوسوم:

الرد على الموضوع
 
LinkBack أدوات الموضوع
عضو فعال
#26  

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

بالنسبة لأي نوع من البرمجة..
إذا كنت تجيد اللغة الإنجليزية فأكيد الاسفتادة منها بتكون أكثر بمرااااااحل..

أما لكيفية الفلترة..

كود PHP:
<?php

$link 
"http://www.site.com/path1/folder2/NewsDetails.aspx?id=75906&language=ar";

// $out المتغير الذي سيحمل المخرج
$filter eregi("([a-zA-Z0-9]+)\.([a-zA-Z0-9]+)\?",$link,$out);

print_r($out);
?>
الدالة ereg تستخدم للبحث أو الفلترة..
الدالة تخرج بـ True أو False.. لكن يمكن تحديد اسم متغير ليحمل النتائج..
يحمل المتغير الذي قمنا بتحديده صيغة البحث.. ويقوم بتفصيل كل ما حددناهو في الـ pattern داخل المتغير كمصفوفة..

كود PHP:
$out[0]:: المطلوب البحث عنه
$out
[1]:: اسم الملف
$out
[2]:: امتداد الملف 


تحياتي






PHP-Master02 is offline   قديم 01-03-2009, 07:30 PM
الرد مع إقتباس
عضو نشيط
#27  

شكرا لك سيتم اجراء الاختبارات على الدالة ليتم تحديد طريقة الاستخدام المناسبة


الآن ما رئيك بالبرنامج
تم اضافة التالي
1- إن لم يقم المستخدم بكتابة اسم الملف فسيتم نقل الملف بنفس الاسم
2- إذا قام المستخدم بكتابة اسم الملف ولم يكتب الامتداد يتم كتابه الامتداد تلقائي
3- إن ادخل المستخدم اسم الملف مع الامتداد سيتم التاكد من ان امتداد الملف المطلوب نقلة يطابق الامتداد المسجل في اسم الملف وعند الاختلاف يتم استبدال الامتداد الموجود في اسم الملف بالامتداد الموجود في عنوان الملف (( تخيل ان احد آخر توصل إلى البرنامج غير صاحب الموقع وقام بكتابة اكواد php داخل ملف txt وعند نقل الملف تم استبدال الامتداد من txt إلى php ))
بالتاكيد وصلت المعلومة
وإذا لم تصل المعلومة فهذا شرح آخر
فعند نقل ملف php من موقع لاخر باستخدام هذا البرنامج سيتم نقل الملف لكن الاكواد html
أما عندما يتم نقل ملف txt به اكواد php فسيتم نقل الملف دون تغيير في المحتوى فقط تغيير امتداد الملف وبهذه الطريقة ادخلت ملف php إلى الموقع بنجاح وهو يعمل لان الامتداد php ووالمحتوى كذلك

شوف هذا كود البرنامج بعد التعديل

كود PHP:

<?php 
// المتغيرات
$changefile=$_POST["changefile"]; // تحديد الكتابة على الملف إذا كان موجود
// المتغيرات المتعلقة باسم الملف
$namefile=trim($_POST["namefile"]);     // اسم الملف المطلوب تحميلة على الموقع (حفظ باسم) 
$pnamefile=pathinfo($namefile);        // دالة تقسيم الرابط
$dnamefile=$pnamefile['dirname'];     // الرابط بدون اسم الملف
$bnamefile=$pnamefile['basename'];   // اسم الملف مع الامتداد
$enamefile=$pnamefile['extension']; // امتداد الملف
$fnamefile=$pnamefile['filename']; // اسم الملف بدون امتداد
// المتغيرات المتعلقة بعنوان الملف
$url=trim($_POST["url"]);     // عنوان الملف المطلوب تحميلة على الموقع
$purl=pathinfo($url);        // دالة تقسيم الرابط
$durl=$purl['dirname'];     // الرابط بدون اسم الملف
$burl=$purl['basename'];   // اسم الملف مع الامتداد
$eurl=$purl['extension']; // امتداد الملف
$furl=$purl['filename']; // اسم الملف بدون امتداد
// بداية البرنامج
switch($_SERVER['REQUEST_METHOD'])// التحقق إذا قام المستخدم بارسال المعلومات 
{
case
"POST":
    
// التحقق من ادخال عنوان ملف صحيح 
    
if( !empty($url) && !empty($eurl) ){ 
        
// التحقق إن كان عنوان الملف صحيح ويمكن نقلة 
        
if( $file=@implode(file($url)) ){
             
// إذا لم يتم ادخال اسم الملف يتم حفظ الملف بنفس الاسم الاصلي 
             
if( empty($namefile)){
             
$newnamefile=$burl;
             
// إذا تم ادخال اسم الملف يتم التاكد من تطابق الامتداد مع الملف الاصلي
             
}elseif($eurl==$enamefile){
             
$newnamefile=$namefile;
             
// إذا لم يتم تطابق الامتداد أو كتابته يتم تغييره أو كتابته
             
}else{
             
$newnamefile=$fnamefile.".".$eurl;
             }
        
// اذا الملف موجود ولم تتم الموافقة على الاستبدال يتم ايقاف البرنامج
            
if(file_exists($newnamefile) && empty($changefile) ){
                echo
"لم يتم نقل الملف لوجود ملف آخر بنفس الاسم";  
             }else{
               
// اذا تم انشاء الملف 
                 
if( $fopen=@fopen("$newnamefile","w") ){ 
                
// اذا تمت الكتابة في الملف 
                     
if( fwrite($fopen,$file) ){ 
                        echo 
"ممتاز لقد تم حفظ الملف باسم $newnamefile"
                     }else{ 
                        echo 
"هناك خطأ في حفظ الملف"
                         } 
                      
fclose($fopen);
                 }else{ 
                     echo 
"عفوا لم يتم نقل هذا الملف "
                     }
             }          
           }else{ 
            echo 
"عفوان عنوان الملف غير صحيح او ان هناك خطأ مجهول"
        } 
     }else{
    echo 
"يجب كتابة عنوان الملف";
     }
break;
default:
echo 
"اهلا وسهلا بك في برنامج نقل الملفات";
break;
}
?>
سيتم تامين البرنامج باسم مستخدم وكلمة مرور لكن في مراحل متقدمة في البرنامج فانا لا اريد ان اقوم بتسجيل الدخول كلما اردت اختبار البرنامج

نرحب باي اقتراحات






__________________
ابصم

آخر تعديل بواسطة قمر الشعراء في 01-03-2009 الساعة 10:11 PM.
قمر الشعراء is offline   قديم 01-03-2009, 10:07 PM
الرد مع إقتباس
عضو نشيط
#28  

أخي PHP-Master02
بعد البحث والتحري تم إيجاد طريقة أفضل للفلترة
كود PHP:
$filterurl=explode("?",$url);    // دالة لفلترة العنوان
$purl=pathinfo($filterurl['0']);// دالة تقسيم الرابط 
تمت اضافة السطر الاول والتغيير في السطر الثاني

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


قريبا مميزات اضافية

نتقبل اقتراحاتكم للبرنامج
ونتقبل نقدكم لطريقة كتابة الاكواد






__________________
ابصم

آخر تعديل بواسطة قمر الشعراء في 02-03-2009 الساعة 12:34 PM.
قمر الشعراء is offline   قديم 02-03-2009, 12:28 PM
الرد مع إقتباس
عضو فعال
#29  

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

جميل جدا..
طلع من بالي فكرة explode..
بالتوفيق دائما..



بالنسبة لمشكلة كتابة العنوان..
امممممم..


ما عندي حل معين في راسي حاليا..
لكن هذا أول حل وصلت له..

استخدم خانتين منفصلتين عند إدخال عنوان الملف..
الأول:: نطاق الموقع (الدومين)
الثاني:: بقية العنوان..

مثلا إذا كان العنوان المراد جلبه هو..
كود:
www.swalif.net/folder/page.php
الحقل الأول يتم إدراج فيه دومين سوالف
كود:
www.swalif.net
والثاني يتم إدراج بقية العنوان
كود:
folder/page.php



في أمان الله






PHP-Master02 is offline   قديم 02-03-2009, 08:13 PM
الرد مع إقتباس
عضو نشيط
#30  

لقيت الحل

عندما يساوي المتغير
كود PHP:
$durl=$purl['dirname'];     // الرابط بدون اسم الملف 
http: أو ftp: يتم ايقاف البرنامج ويخبره بان عنوان الملف غير صحيح

لدي فكرة إن تم تنفيذها سيتغير البرنامج كليا

الان ساتعلم الجلسات واحمي البرنامج باسم مستخدم وكلمة مرور






__________________
ابصم

آخر تعديل بواسطة قمر الشعراء في 02-03-2009 الساعة 09:12 PM.
قمر الشعراء is offline   قديم 02-03-2009, 09:07 PM
الرد مع إقتباس
عضو نشيط
#31  

ممكن احد يقولي وين المشكلة

نظام الجلسات لا يعمل

عند تسجيل دخول يدخل بنجاح لكن عند بدا استخدام البرنامج يطلب كلمة المرور والمستخدم

الملف في المرفق






الملفات المرفقة
نوع الملف: txt index.txt‏ (5.7 كيلوبايت, 2 مشاهدة)
__________________
ابصم

آخر تعديل بواسطة قمر الشعراء في 08-03-2009 الساعة 12:56 AM.
قمر الشعراء is offline   قديم 08-03-2009, 12:55 AM
الرد مع إقتباس
عضو فعال
#32  

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

الحل بسيط جدا..

أدخل الأمر في بداية الملف قبل أي أكواد HTML

كود PHP:
session_start() 
وللتأكد من صحة المتغيرات.. استخدم if الشرطية مع متغيرات الجلسات $_SESSION


في أمان الله

تحياتي






PHP-Master02 is offline   قديم 08-03-2009, 01:29 PM
الرد مع إقتباس
عضو نشيط
#33  

الدالة session_start() سقطت سهوا من الملف

وانا استخدمها بالفعل


لكن المشكلة لا اعرف كيق استخدم if مع المتغير
$_SESSION

فتحت اكثر من برنامج لكن ما فهمت كيف الطريقة الصحيحة

وانا احاول ابحث عن الطريقة قبل وضع المشاركة لذلك تاخرت عن طلب المساعدة






__________________
ابصم
قمر الشعراء is offline   قديم 08-03-2009, 04:14 PM
الرد مع إقتباس
عضو نشيط
#34  

شكرا لك نجحت في عمل البرنامج
كود PHP:
if( $_POST["username"]=="admin" && $_POST["password"]=="admin" ){
$_SESSION['username']=$_POST["username"];
$_SESSION['password']=$_POST["password"];







__________________
ابصم
قمر الشعراء is offline   قديم 08-03-2009, 05:05 PM
الرد مع إقتباس
الرد على الموضوع



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

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

كود vB متاح
كود [IMG] متاح
كود HTML غير متاح
Trackbacks are متاح
Pingbacks are متاح
Refbacks are متاح


المواضيع المشابهه
الموضوع كاتب الموضوع القسم الردود آخر مشاركة
موقعى لا يعمل ومربع يقول انه يعمل..هل يعمل لديكم؟؟ أبو وضاح الويب والويب 2.0 والـ Semantic Web 26 25-10-2007 06:19 PM
ركبت برنامج EasyPHP .. أباتشي يعمل .. لكن MySQL لا يعمل !! ما السبب ؟؟؟ AMA1422 الويب والويب 2.0 والـ Semantic Web 18 06-11-2005 07:19 PM
تفضل وحمل أول برنامج من برمجتي .. برنامج لتحميل ملفاتك للإنترنت بدون ... أمير الهنوف القسم العام 19 13-07-2005 10:58 PM
برنامج القران الكريم لأصحاب المواقع - يعمل مع برنامج النيوك losaan.com الويب والويب 2.0 والـ Semantic Web 0 24-03-2005 10:16 PM
أول برنامج من برمجتي :) . برنامج لحساب المعدل الفصلي لطلاب الجامعات . تفضل بالدخول .. ابو مشعل الويب والويب 2.0 والـ Semantic Web 22 08-10-2002 11:49 PM


جميع الأوقات بتوقيت غرينتش +3. الوقت الآن هو 08:14 PM.