ممتاز،
وصلت اللي ابغاه
حتى الآن، هل تقدر على محاكاة ftp_login ؟
-- على فكرة، أملك class خاص بالـ FTP قمت ببرمجته منذ فترة، وهي البديل الكامل لمجموعة دوال الـ FTP .. والسبب في ذلك عائد إلى مستضيف الموقع الخاص بي حيث قام بتعطيلهم في ظل حاجتي لهم
ممتاز،
وصلت اللي ابغاه
حتى الآن، هل تقدر على محاكاة ftp_login ؟
-- على فكرة، أملك class خاص بالـ FTP قمت ببرمجته منذ فترة، وهي البديل الكامل لمجموعة دوال الـ FTP .. والسبب في ذلك عائد إلى مستضيف الموقع الخاص بي حيث قام بتعطيلهم في ظل حاجتي لهم
__________________
تابعني على Twitter
عن نفسي لم استطع ..
لكني وجدتها بموقع آخر بعد البحث لاني لم اتوقع ان تتم وظائف ال ftp بغير الدوال ال ftp_
لكن فكرة ممتازة ماشاء الله .. ولن اعرضها الآن مع اني متأكد أنها ستُعرض لكن سننتظر حتى نرى الإبداعات
__________________
قل اللهم مالك المُلك تؤتي الملك من تشاء وتنزع الملك ممن تشاء وتعز من تشاء وتذل من تشاء بيدك الخير انك على كل شىء قدير
Basic FTP Commands
أوامر الـ FTP موجودة في هذه الصفحة يمكن استخدامها للاستفادة من السوكتس في هذه الوظيفة ..
يبدو أني سأعاود دراسة Bitwise Operators لاحقاً لأني لم أعطها حقها من مجمل ما أملك من معلومات ..
ما رأيكم أن نستمر في محاكاة الدوال العادية مثل Strings Functions و Arrays Functions وما إلى ذلك؟ لأن السوكيتس والـ FTP تحتاج إلى مواضيع كاملة .. قد نخوض مثل تلك النقاشات في وقت لاحق في مواضيع منفصلة سيكون أفضل للتركيز على المهام ..
تحياتي، أشرف السمهوري
Bitwise Operators و Shift Operators، دراستها معقدة نوعاً ما .. عليك بالتعمق فيه بشكل أوسع، لأن كلها راح تتعلق بالأنظمة الثنائية .. بالعربي: لحسة مخ
تفضل موضوع راح يفيدك بإذن الله
http://www.arabteam2000-forum.com/in...howtopic=53544
-----
أنتظر منكم محاكاة دالة strrpos وليس strpos
__________________
تابعني على Twitter
اثناء تجوالي في المانيوال لاحظت عدة حلول مشابهة لحل كنت اريد عمله
لذلك عملت واحدة جديدة . ايضا لم استخدم دوال التعامل مع النصوص.
كود PHP:
function _strrpos($haystack,$needle,$offset = 0){
if($haystack == '' || $needle == '') return false;
$len1 = $len2 = 0;
while(isset($haystack[++$len1]));
while(isset($needle[++$len2]));
$offset = (int) $offset;
if($len1-abs($offset) < $len2) return false;
$len2--;
$len1--;
$min = ($offset<0) ? 0 : $offset;
for($start=($offset<0) ? $len1+($offset+1) : $len1;$start>=$min;$start--){
if($haystack[$start] == $needle[0]){
$pass = true;
for($i=0,$v=$start;$i<=$len2;$i++,$v++){
if($haystack[$v] != $needle[$i]){
$pass = false;
break;
}
}
if($pass == true) return $start;
}
}
return false;
}
__________________
محمد حمود.
إن شاء الله لما أتفرغ بقرا عنها ، ما في شي صعب في العلم خخخ ..
للأسف مضطر أطلع على حصتي .. كنت رح أحاكي strrpos عن طريق عكس المتغير الأصلي haystack$ بواسطة strrev ، وعكس needle$ كذلك، ثم استخدام strpos العادية .. والاستفادة من strlen لـ needle$ و strlen للجزء المتبقي من haystack$ لإعطاء موقع دقيق للبحث .. مجرد فكرة كانت في بالي بدلاً من المرور على جميع الحروف يدوياً ..
تحياتي، أشرف السمهوري
عدنا .. تطبيق سريع للفكرة التي ذكرتها في ردي السابق ..
بدون الباراميتر الثالث offset$ لأني لست متأكداً من فهمي السليم لوظيفته في strrpos حيث أن المانيوال لم يشرح الباراميترز لهذه الدالة ..كود PHP:
function strrpos_sim($haystack, $needle) {
$haystack = strrev($haystack);
$needle = strrev($needle);
$pos = strpos($haystack, $needle);
$pos = strlen($haystack) - $pos - strlen($needle);
return $pos;
}
تحياتي، أشرف السمهوري
mr_m
أحسنت حقاً، أفضل ماقمت به أنك لم تستخدم دوال التعامل بالنصوص
حلك رائع رغم أننا بإمكانك استخدام أقصر الطرق لما قمت به
لكني لم أستطع فهم مافائدة المعامل الثالث حتى الآن؟
أشرف السمهوري
حلي مشابه لحلك سوى من بعض المعاملات، لاحاجة لتعريف متغيرات في الدالة .. لأنك لن تستخدمهم إلا لمرة واحدة فقط
كذلك
كود PHP:
function strrpos_alt($haystack, $needle)
{
return strlen($haystack) - (strpos(strrev($haystack), strrev($needle)) + strlen($needle));
}
__________________
تابعني على Twitter
لمن هو قد التحدي
محاكاة دالة strrev باستخدام طريقة الإستدعاء الذاتي Recursion
أنتظركم
__________________
تابعني على Twitter
عالسريع:
تحياتي، أشرف السمهوريكود PHP:
function strrev_sim($string, $pos = 0) {
static $loop_string;
if ($pos === 0) $loop_string = '';
$len = strlen($string);
$loop_string .= $string[$len - $pos - 1];
if ($len > $pos + 1) {
return strrev_sim($string, $pos + 1);
} else {
return $loop_string;
}
}
جميل جداً أشرف
لكن في طريقة أسهل من كذا وبدون الحاجة لاستخدام static
__________________
تابعني على Twitter
إذا كان قصدك تمريره في الدالة فمو كثير يفرق .. وطبعاً تتعدد الأكواد والنتيجة واحدة .. يعني في طرق كثيرة لكن هذا اللي طلع معي وانا بكتب الكود ..
تحياتي، أشرف السمهوري
طيب مو مشكلة
هذا حلي:
كود PHP:
function strrev_alt($string)
{
if (strlen($string) == 1)
$rev_string .= $string;
else
$rev_string .= substr($string, -1) . strrev_alt(substr($string, 0, -1));
return $rev_string;
}
أشرف الحين انت عطنا محاكاة خلص اللي عندي
__________________
تابعني على Twitter
ممتاز، على فكرة انا من زماان ما استخدمت Recursive Functions ،، وبالأحرى من زماان ما كتبت أكواد برمجية ، وهذا سبب بدئي للموضوع تقريباً .. يعني جيّد اني استرجعت جزء لا بأس به من المعلومات .. ..
طيب، دالة parse_str ، مين يحاكي؟
تحياتي، أشرف السمهوري
حرام عليك جايب لنا دالة صعبة مرررررررة
للأسف ما أقدر أحاكيه انتظر غيري يحاكونه
__________________
تابعني على Twitter