├── Arabic-PHP-Engine.php ├── LICENSE.txt └── README.md /Arabic-PHP-Engine.php: -------------------------------------------------------------------------------- 1 | الرمز ); 27 | 28 | while ( موضع_النص( $المحتوى , $this->الرمز ) !== خاطئ ) { 29 | 30 | $موضع_البداية = موضع_النص( $المحتوى , $this->الرمز ); 31 | 32 | $موضع_النهاية = موضع_النص( $المحتوى , $this->الرمز , موضع_النص( $المحتوى , $this->الرمز ) + $عدد_خانات_الرمز ); 33 | 34 | $الحجم = $موضع_النهاية - $موضع_البداية + $عدد_خانات_الرمز; 35 | 36 | 37 | $النص_قبل = اقتطاع( $المحتوى , 0 , $موضع_البداية ); 38 | 39 | $النص_بعد = اقتطاع( $المحتوى , $موضع_النهاية + $عدد_خانات_الرمز ); 40 | 41 | $النص = اقتطاع( $المحتوى , $موضع_البداية , $الحجم ); 42 | 43 | $النص = استبدال_الكل( $النص , $this->الرمز , "" ); 44 | 45 | $النص = 'استبدال_النص( $النص ) . '?>'; 46 | 47 | $المحتوى = $النص_قبل . $النص . $النص_بعد; 48 | 49 | } 50 | 51 | eval( '?>' . $المحتوى); 52 | 53 | } 54 | } 55 | 56 | private function استبدال_النص( $النص ) { 57 | 58 | $التبديل = array(); 59 | 60 | $النصوص=array(); 61 | 62 | preg_match_all( '/\'([^\']+)\'|"([^"]+)"/' , $النص , $النصوص ); 63 | 64 | $النصوص = $النصوص[0]; 65 | 66 | foreach ( $النصوص as $_النص ) { 67 | 68 | $النص_المؤقت = توليد_نص(50); 69 | 70 | $النص = استبدال( $النص , $_النص , $النص_المؤقت ); 71 | 72 | $التبديل[]=array($النص_المؤقت,$_النص); 73 | 74 | } 75 | $الأسماء_العربية = [ 76 | "؛" 77 | , "،" 78 | , "ع.إذا_كان" 79 | , "ع.أو_إذا" 80 | , "ع.آخر" 81 | , "ع.عملية" 82 | , "ع.سويتش" 83 | , "ع.الحالة" 84 | , "ع.إفتراضي" 85 | , "ع.بينما" 86 | , "ع.عمل" 87 | , "ع.من_أجل" 88 | , "ع.من_أجل_الكل" 89 | , "ع.مصفوفة" 90 | , "ع.كـ" 91 | , "ع.عامؤ" 92 | ]; 93 | 94 | $الأسماء_الأساسية = [ 95 | ";" 96 | , "," 97 | , "if" 98 | , "else if" 99 | , "else" 100 | , "function" 101 | , "switch" 102 | , "case" 103 | , "default" 104 | , "while" 105 | , "do" 106 | , "for" 107 | , "foreach" 108 | , "array" 109 | , "as" 110 | , "global" 111 | ]; 112 | 113 | $النص = استبدال_الكل( $النص , $الأسماء_العربية , $الأسماء_الأساسية ); 114 | 115 | foreach ( $التبديل as $_النص ) { 116 | 117 | $النص = استبدال( $النص , $_النص[0] , $_النص[1] ); 118 | 119 | } 120 | 121 | return $النص; 122 | return eval( $النص ); 123 | } 124 | 125 | 126 | 127 | 128 | 129 | } 130 | 131 | // اللغة الحالية للمتصفح من حرفين ar , en ... 132 | تعريف_متغير( "لغة_المتصفح" , isset( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ? اقتطاع( $_SERVER['HTTP_ACCEPT_LANGUAGE'] , 0 , 2 ) : "en" ); 133 | 134 | تعريف_متغير( "اسم_الملف_الحالي" , $_SERVER['PHP_SELF'] ); 135 | 136 | تعريف_متغير( "ايبي_المضيف" , $_SERVER['SERVER_ADDR'] ); 137 | 138 | // نوع طلب الصفحة post , get 139 | تعريف_متغير( "نوع_الطلب" , $_SERVER['REQUEST_METHOD'] ); 140 | 141 | // متغيرات الرابط 142 | // ?id=1&name=test... 143 | تعريف_متغير( "متغيرات_الرابط" , $_SERVER['QUERY_STRING'] ); 144 | 145 | تعريف_متغير( "الدومين" , $_SERVER['HTTP_HOST'] ); 146 | 147 | تعريف_متغير( "ايبي_المستخدم" , $_SERVER['REMOTE_ADDR'] ); 148 | 149 | تعريف_متغير( "رابط_الملف_الكامل" , $_SERVER['SCRIPT_FILENAME'] ); 150 | 151 | // فروع_الرابط 152 | // /blog/year/month/day/... 153 | تعريف_متغير( "فروع_الرابط" , $_SERVER['REQUEST_URI'] ); 154 | 155 | // تستخدم في أي مكان بدل true 156 | تعريف_متغير( "صحيح" , true ); 157 | 158 | // تستخدم في أي مكان بدل false 159 | تعريف_متغير( "خاطئ" , false ); 160 | 161 | تعريف_متغير( "أحرف_كبيرة" , CASE_UPPER ); 162 | 163 | تعريف_متغير( "أحرف_صغيرة" , CASE_LOWER ); 164 | 165 | // هل يتم التصفح من الأمان https 166 | تعريف_متغير( "الأمان_مفعل" , isset( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] === 'on' ? صحيح : خاطئ ); 167 | 168 | // http://www.example.com/ 169 | تعريف_متغير( "الرابط_الأساسي" , ( الأمان_مفعل ? "https" : "http" ) . "://" . الدومين . "/" ); 170 | 171 | // http://www.example.com/blog/year/month/day/name 172 | تعريف_متغير( "الرابط_الكامل" , الرابط_الأساسي . ( اقتطاع( فروع_الرابط , 0 , 1 ) == "/" ? اقتطاع( فروع_الرابط , 1 ) : فروع_الرابط ) ); 173 | 174 | // php user agent 175 | تعريف_متغير( "معرف_المتصفح" , $_SERVER['HTTP_USER_AGENT'] ); 176 | 177 | // إذا كان التصفح يتم عن طريق الهاتف 178 | تعريف_متغير( "هل_التصفح_من_هاتف" , موضع_النص( معرف_المتصفح , "Mobile" ) || موضع_النص( معرف_المتصفح , "Mobi" ) ? صحيح : خاطئ ); 179 | 180 | // توليد نص عشوائي 181 | function توليد_نص( $الحجم = 10 ){ 182 | 183 | $الأحرف_المتاحة = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; 184 | 185 | $العدد = عدد_الخانات( $الأحرف_المتاحة ); 186 | 187 | $النص = ''; 188 | 189 | for( $ن = 0 ; $ن < $الحجم ; $ن++ ){ 190 | 191 | $النص .= $الأحرف_المتاحة[ توليد_رقم_بين( 0 , $العدد - 1 ) ]; 192 | 193 | } 194 | 195 | return $النص; 196 | 197 | } 198 | 199 | // توليد رقم عشوائي 200 | function توليد_رقم( $الحجم = 10 ){ 201 | 202 | $الأرقام_المتاحة = '0123456789'; 203 | 204 | $العدد = عدد_الخانات( $الأرقام_المتاحة ); 205 | 206 | $الرقم = ''; 207 | 208 | for( $ن = 0 ; $ن < $الحجم ; $ن++ ){ 209 | 210 | $الرقم .= $الأرقام_المتاحة[ توليد_رقم_بين( 0 , $العدد - 1) ]; 211 | 212 | } 213 | 214 | return $الرقم; 215 | 216 | } 217 | 218 | /************************************* المصفوفات *************************************/ 219 | 220 | // php array_change_key_case 221 | // تغيير حالة أحرف مفاتيح المصفوفة 222 | // أحرف_كبيرة , أحرف_صغيرة 223 | function تغيير_حالة_أحرف_المصفوفة( $المصفوفة , $الحالة ){ 224 | 225 | return array_change_key_case( $المصفوفة , $الحالة ); 226 | 227 | } 228 | 229 | // php array_chunk 230 | // تقسيم المصفوفة إلى مصفوفات ضمن المصفوفة الأساسية 231 | function تقسيم_المصفوفة( $المصفوفة , $العدد ){ 232 | 233 | return array_chunk( $المصفوفة , $العدد ); 234 | 235 | } 236 | 237 | // php array_combine 238 | // دمج مصفوفتين الأولى تكون مفاتيح والثانية قيم 239 | function دمج_مصفوفتين( $المصفوفة_1 , $المصفوفة_2 ){ 240 | 241 | return array_combine( $المصفوفة_1 , $المصفوفة_2 ); 242 | 243 | } 244 | 245 | // php array_diff 246 | // ايجاد الفرق بين المصفوفات 247 | // فرق_القيم_بين_المصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 248 | function فرق_القيم_بين_المصفوفات(){ 249 | 250 | return call_user_func_array( "array_diff" , func_get_args() ); 251 | 252 | } 253 | 254 | // php array_flip 255 | // التبديل بين القيم و المفاتيح للمصفوفة 256 | function قلب_القيم_والمفاتيح_للمصفوفة( $المصفوفة ){ 257 | 258 | return array_flip( $المصفوفة ); 259 | 260 | } 261 | 262 | // php array_intersect 263 | // ايجاد القيم المشتركة بين المصفوفات 264 | // ايجاد_القيم_المشتركة_بين_المصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 265 | function ايجاد_القيم_المشتركة_بين_المصفوفات(){ 266 | 267 | return call_user_func_array( "array_intersect" , func_get_args() ); 268 | 269 | } 270 | 271 | // php array_key_exists 272 | // إذا كانت المصفوفة تحوي مفتاح 273 | function هل_تحوي_المصفوفة_مفتاح( $المفتاح , $المصفوفة ){ 274 | 275 | return array_key_exists( $المفتاح , $المصفوفة ); 276 | 277 | } 278 | 279 | // php array_keys 280 | // جلب مفاتيح المصفوفة ضمن مصفوفة جديدة 281 | function جلب_مفاتيح_المصفوفة( $المصفوفة ){ 282 | 283 | return array_keys( $المصفوفة ); 284 | 285 | } 286 | 287 | // php array_map 288 | // تطبيق عملية محددة على كافة قيم المصفوفة 289 | // تطبيق_عملية_على_قيم_المصفوفة( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 290 | function تطبيق_عملية_على_قيم_المصفوفة(){ 291 | 292 | return call_user_func_array( "array_map" , func_get_args() ); 293 | 294 | } 295 | 296 | // php array_merge 297 | // دمج عدة مصفوفات 298 | // دمج_مصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ) 299 | function دمج_مصفوفات(){ 300 | 301 | return call_user_func_array( "array_merge" , func_get_args() ); 302 | 303 | } 304 | 305 | // php array_pop 306 | // حذف آخر عنصر من المصفوفة 307 | function حذف_آخر_عنصر_من_المصفوفة( $المصفوفة ){ 308 | 309 | return array_pop( $المصفوفة ); 310 | 311 | } 312 | 313 | // php array_push 314 | // إضافة قيم إلى نهاية المصفوفة 315 | // إضافة_عناصر_إلى_المصفوفة( $المصفوفة , $القيمة1 [, $القيمة2] [, $القيمة3 ]) 316 | function إضافة_عناصر_إلى_المصفوفة(){ 317 | 318 | return call_user_func_array( "array_push" , func_get_args() ); 319 | 320 | } 321 | 322 | // php array_rand 323 | // جلب عناصر عشوائية من المصفوفة 324 | // جلب_عناصر_عشوائية_من_المصفوفة( $المصفوفة , $العدد ) 325 | function جلب_عناصر_عشوائية_من_المصفوفة(){ 326 | 327 | return call_user_func_array( "array_rand" , func_get_args() ); 328 | 329 | } 330 | 331 | // php array_reverse 332 | // عكس المصفوفة 333 | function عكس_المصفوفة( $المصفوفة ){ 334 | 335 | return array_reverse( $المصفوفة ); 336 | 337 | } 338 | 339 | // php array_search 340 | // بحث عن قيمة ضمن المصفوفة و إرجاع المفتاح 341 | function بحث_في_المصفوفة( $البحث , $المصفوفة ){ 342 | 343 | return array_search( $البحث , $المصفوفة ); 344 | 345 | } 346 | 347 | // php array_shift 348 | // حذف أول عنصر من المصفوفة 349 | function حذف_أول_عنصر_من_المصفوفة( $المصفوفة ){ 350 | 351 | return array_shift( $المصفوفة ); 352 | 353 | } 354 | 355 | // php array_slice 356 | // جلب قسم من المصفوفة ضمن مصفوفة جديدة 357 | // جلب_قسم_من_المصفوفة( $المصفوفة , $البداية [, $الحجم] ) 358 | function جلب_قسم_من_المصفوفة(){ 359 | 360 | return call_user_func_array( "array_slice" , func_get_args() ); 361 | 362 | } 363 | 364 | // php array_sum 365 | // جلب مجموع قيم المصفوفة الرقمية 366 | function جلب_مجموع_قيم_المصفوفة( $المصفوفة ){ 367 | 368 | return array_sum( $المصفوفة ); 369 | 370 | } 371 | 372 | // php array_unique 373 | // حذف القيم المكررة من المصفوفة 374 | function حذف_المكرر_من_المصفوفة( $المصفوفة ){ 375 | 376 | return array_unique( $المصفوفة ); 377 | 378 | } 379 | 380 | // php array_unshift 381 | // إضافة قيم إلى بداية المصفوفة 382 | // إضافة_عناصر_إلى_بداية_المصفوفة( $المصفوفة , $القيمة1 [, $القيمة2] [, $القيمة3 ]) 383 | function إضافة_عناصر_إلى_بداية_المصفوفة(){ 384 | 385 | return call_user_func_array( "array_unshift" , func_get_args() ); 386 | 387 | } 388 | 389 | // php array_values 390 | // جلب قيم المصفوفة فقط ضمن مصفوفة جديدة 391 | function جلب_قيم_المصفوفة( $المصفوفة ){ 392 | 393 | return array_values( $المصفوفة ); 394 | 395 | } 396 | 397 | // php asort 398 | // ترتيب المصفوفة تصاعدياً حسب القيم 399 | function ترتيب_قيم_المصفوفة_تصاعدي( $المصفوفة ){ 400 | 401 | return asort( $المصفوفة ); 402 | 403 | } 404 | 405 | // php arsort 406 | // ترتيب المصفوفة تنازلياً حسب القيم 407 | function ترتيب_قيم_المصفوفة_تنازلي( $المصفوفة ){ 408 | 409 | return arsort( $المصفوفة ); 410 | 411 | } 412 | 413 | // php count 414 | // جلب عدد عناصر المصفوفة 415 | function حجم_المصفوفة( $المصفوفة ){ 416 | 417 | return count( $المصفوفة ); 418 | 419 | } 420 | 421 | // php current 422 | // جلب العنصر الحالي من المصفوفة 423 | function جلب_العنصر_الحالي_للمصفوفة( $المصفوفة ){ 424 | 425 | return current( $المصفوفة ); 426 | 427 | } 428 | 429 | // php reset 430 | // جلب العنصر الأول من المصفوفة 431 | function جلب_العنصر_الأول_للمصفوفة( $المصفوفة ){ 432 | 433 | return reset( $المصفوفة ); 434 | 435 | } 436 | 437 | // php end 438 | // جلب العنصر الأخير من المصفوفة 439 | function جلب_العنصر_الأخير_للمصفوفة( $المصفوفة ){ 440 | 441 | return end( $المصفوفة ); 442 | 443 | } 444 | 445 | // php next 446 | // جلب العنصر التالي من المصفوفة 447 | function جلب_العنصر_التالي_للمصفوفة( $المصفوفة ){ 448 | 449 | return next( $المصفوفة ); 450 | 451 | } 452 | 453 | // php prev 454 | // جلب العنصر السابق من المصفوفة 455 | function جلب_العنصر_السابق_للمصفوفة( $المصفوفة ){ 456 | 457 | return prev( $المصفوفة ); 458 | 459 | } 460 | 461 | // php ksort 462 | // ترتيب المصفوفة تصاعدياً حسب المفاتيح 463 | function ترتيب_مفاتيح_المصفوفة_تصاعدي( $المصفوفة ){ 464 | 465 | return ksort( $المصفوفة ); 466 | 467 | } 468 | 469 | // php krsort 470 | // ترتيب المصفوفة تنازلياً حسب المفاتيح 471 | function ترتيب_مفاتيح_المصفوفة_تنازلي( $المصفوفة ){ 472 | 473 | return krsort( $المصفوفة ); 474 | 475 | } 476 | 477 | // php range 478 | // توليد مصفوفة من أرقام 479 | // توليد_مصفوفة_أرقام( $الرقم_الأصغر , $الرقم_الأكبر , $الفاصل_بين_الأرقام ) 480 | function توليد_مصفوفة_أرقام(){ 481 | 482 | return call_user_func_array( "range" , func_get_args() ); 483 | 484 | } 485 | 486 | // php shuffle 487 | // ترتيب المصفوفة بشكل عشوائي 488 | function ترتيب_المصفوفة_عشوائي( $المصفوفة ){ 489 | 490 | return shuffle( $المصفوفة ); 491 | 492 | } 493 | 494 | // php sort 495 | // ترتيب المصفوفة تصاعدياً 496 | function ترتيب_المصفوفة_تصاعدي( $المصفوفة ){ 497 | 498 | return sort( $المصفوفة ); 499 | 500 | } 501 | 502 | // php rsort 503 | // ترتيب المصفوفة تنازلياً 504 | function ترتيب_المصفوفة_تنازلي( $المصفوفة ){ 505 | 506 | return rsort( $المصفوفة ); 507 | 508 | } 509 | 510 | // php in_array 511 | // إذا كانت المصفوفة تحوي قيمة 512 | function هل_تملك_المصفوفة_عنصر( $البحث , $المصفوفة ){ 513 | 514 | return in_array( $البحث , $المصفوفة ); 515 | 516 | } 517 | 518 | // إذا كانت المصفوفة تحوي مفاتيح 519 | // ["blue","red"] خاطئ 520 | // ["a"=>"blue","b"=>"red"] صحيح 521 | function هل_المصفوفة_تحوي_مفاتيح( array $المصفوفة ){ 522 | 523 | if ( array() === $المصفوفة ){ 524 | 525 | return خاطئ; 526 | 527 | } 528 | 529 | return جلب_مفاتيح_المصفوفة( $المصفوفة ) !== توليد_مصفوفة_أرقام( 0 , حجم_المصفوفة( $المصفوفة ) - 1 ); 530 | 531 | } 532 | 533 | function كل( $المصفوفة , $العملية ){ 534 | 535 | if ( هل_المصفوفة_تحوي_مفاتيح( $المصفوفة ) ) { 536 | 537 | foreach( $المصفوفة as $الاسم => $القيمة ) { 538 | 539 | $العملية( $الاسم , $القيمة ); 540 | 541 | } 542 | 543 | } else { 544 | 545 | for( $الرقم = 0 ; $الرقم < count( $المصفوفة ) ; $الرقم++ ) { 546 | 547 | $العملية( $الرقم , $المصفوفة[ $الرقم ] ); 548 | 549 | } 550 | 551 | } 552 | 553 | } 554 | 555 | /************************************* المصفوفات *************************************/ 556 | 557 | 558 | 559 | 560 | 561 | /************************************* الوقت *************************************/ 562 | 563 | // جلب عدد أيام الشهر من السنة 564 | // إذا كان الشهر 28 ، 30 أو 31 يوم 565 | function عدد_أيام_الشهر( $الشهر , $السنة ){ 566 | 567 | return cal_days_in_month( CAL_GREGORIAN , $الشهر , $السنة ); 568 | 569 | } 570 | 571 | // جلب المنطقة الزمنية الحالية 572 | function جلب_المنطقة_الزمنية(){ 573 | 574 | return date_default_timezone_get(); 575 | 576 | } 577 | 578 | // تغيير المنطقة الزمنية الحالية 579 | function تغيير_المنطقة_الزمنية( $المنطقة_الزمنية ){ 580 | 581 | return date_default_timezone_set( $المنطقة_الزمنية ); 582 | 583 | } 584 | 585 | function جلب_اسم_اليوم( $الاسم ) { 586 | 587 | $الاسم = تبديل_لصغير( $الاسم ); 588 | 589 | return [ 590 | "sun" => "الأحد" 591 | , "mon" => "الإثنين" 592 | , "tue" => "الثلاثاء" 593 | , "wed" => "الأربعاء" 594 | , "thu" => "الخميس" 595 | , "fri" => "الجمعة" 596 | , "sat" => "السبت" 597 | ][ $الاسم ]; 598 | 599 | } 600 | 601 | function جلب_اسم_الشهر( $الرقم ) { 602 | 603 | return [ 604 | "كانون الثاني" 605 | , "شباط" 606 | , "آذار" 607 | , "نيسان" 608 | , "أيار" 609 | , "حزيران" 610 | , "تموز" 611 | , "آب" 612 | , "أيلول" 613 | , "تشرين الأول" 614 | , "تشرين الثاني" 615 | , "كانون الأول" 616 | ][ $الرقم ]; 617 | 618 | } 619 | 620 | // العملية تغنيك عن استخدام time , date 621 | // الوقت() إرجاع تايم ستامب 622 | // الوقت( $المطلوب ) إرجاع قيمة المطلوب يوم، شهر، سنة ... 623 | // الوقت( "صيغة" ) إرجاع نص بالقيم المطلوبة 624 | // مثال الوقت( "س-ر-م ع:د:ث و" ) 625 | // س سنة 626 | // ش اسم الشهر 627 | // ر رقم الشهر 628 | // ي اسم اليوم 629 | // م رقم اليوم 630 | // ع الساعة 12 631 | // ة الساعة 24 632 | // د دقيقة 633 | // ث ثانية 634 | // و الوضع مساءً أو صباحاً 635 | function الوقت( $الوقت = null ){ 636 | 637 | if ( $الوقت ) { 638 | 639 | $الوقت_الأساسي = time(); 640 | 641 | $مصفوفة_الوقت = array( 642 | "الثانية" => date( "s" , $الوقت_الأساسي ) 643 | , "الدقيقة" => date( "i" , $الوقت_الأساسي ) 644 | , "الساعة" => date( "h" , $الوقت_الأساسي ) 645 | , "رقم_اليوم" => date( "d" , $الوقت_الأساسي ) 646 | , "اسم_اليوم" => جلب_اسم_اليوم( date( "D" , $الوقت_الأساسي ) )// 647 | , "رقم_الشهر" => date( "m" , $الوقت_الأساسي ) 648 | , "اسم_الشهر" => جلب_اسم_الشهر( جلب_الرقم( date( "m" , $الوقت_الأساسي ) ) )// 649 | , "السنة" => date( "Y" , $الوقت_الأساسي ) 650 | , "الوضع" => تبديل_لصغير( date( "a" , $الوقت_الأساسي ) ) == "am" ? "صباحاً" : "مساءً" 651 | ); 652 | 653 | if ( هل_تحوي_المصفوفة_مفتاح( $الوقت , $مصفوفة_الوقت ) ) { 654 | 655 | return $مصفوفة_الوقت[ $الوقت ]; 656 | 657 | } else { 658 | 659 | $الوقت_المخرج = $الوقت; 660 | 661 | $الوقت_المخرج = استبدال_الكل( 662 | $الوقت_المخرج , 663 | [ "س" , "ش" , "ر" , "ي" , "م" , "ع" , "ة" , "د" , "ث" , "و" ] , 664 | [ "___a" , "___b" , "___c" , "___d" , "___e" , "___f" , "___g" , "___h" , "___i" , "___j" ] 665 | ); 666 | 667 | $الوقت_المخرج = استبدال_الكل( 668 | $الوقت_المخرج , 669 | [ "___a" , "___b" , "___c" , "___d" , "___e" , "___f" , "___g" , "___h" , "___i" , "___j" ] , 670 | [ $مصفوفة_الوقت[ "السنة" ] , $مصفوفة_الوقت[ "اسم_الشهر" ] , $مصفوفة_الوقت[ "رقم_الشهر" ] , $مصفوفة_الوقت[ "اسم_اليوم" ] , $مصفوفة_الوقت[ "رقم_اليوم" ] , date( "H" , $الوقت_الأساسي ) , $مصفوفة_الوقت[ "الساعة" ] , $مصفوفة_الوقت[ "الدقيقة" ] , $مصفوفة_الوقت[ "الثانية" ] , $مصفوفة_الوقت[ "الوضع" ] ] ); 671 | 672 | return $الوقت_المخرج; 673 | 674 | } 675 | 676 | } else { 677 | 678 | return time(); 679 | 680 | } 681 | 682 | } 683 | 684 | // php strtotime 685 | // تحويل النص إلى وقت تايم ستامب 686 | function النص_إلى_وقت( $النص ){ 687 | 688 | return strtotime( $النص ); 689 | 690 | } 691 | 692 | /************************************* الوقت *************************************/ 693 | 694 | 695 | 696 | 697 | 698 | /************************************* النصوص *************************************/ 699 | 700 | // php mb_substr 701 | // اقتطاع جزء محدد من النص 702 | // اقتطاع( $النص , $البداية , $الحجم ) 703 | function اقتطاع() { 704 | 705 | return call_user_func_array( "mb_substr" , func_get_args() ); 706 | 707 | } 708 | 709 | // php str_replace 710 | // البحث عن كل النصوص المطابقة واستبدالها 711 | function استبدال_الكل( $النص , $البحث , $الاستبدال ) { 712 | 713 | return str_replace( $البحث , $الاستبدال , $النص ); 714 | 715 | } 716 | 717 | // php preg_replace 718 | // البحث عن نص واستبداله بآخر مرة واحدة 719 | function استبدال( $النص , $البحث , $الاستبدال ) { 720 | 721 | return preg_replace( "/".$البحث."/" , $الاستبدال , $النص , 1 ); 722 | 723 | } 724 | 725 | // php addslashes 726 | // إضافة سلاش إلى علامات التنصيص 727 | function إضافة_سلاش( $النص ) { 728 | 729 | return addslashes( $النص ); 730 | 731 | } 732 | 733 | // php stripslashes 734 | // حذف جميع السلاش من النص 735 | function حذف_سلاش( $النص ) { 736 | 737 | return stripslashes( $النص ); 738 | 739 | } 740 | 741 | // php explode 742 | // تقسيم النص إلى مصفوفة بناءً على بحث 743 | // تقطيع_النص( $الفاصل , $النص ) 744 | function تقطيع_النص( $الفاصل , $النص ) { 745 | 746 | return explode( $الفاصل , $النص ); 747 | 748 | } 749 | 750 | // php implode 751 | // جمع قيم المصفوفة وتحويلها إلى نص 752 | // جمع_النصوص_من_مصفوفة( $الفاصل , $المصفوفة ) 753 | function جمع_النصوص_من_مصفوفة() { 754 | 755 | return call_user_func_array( "implode" , func_get_args() ); 756 | 757 | } 758 | 759 | // php ltrim 760 | // حذف المسافات من يسار النص 761 | function حذف_المسافات_من_يسار_النص( $النص ) { 762 | 763 | return ltrim( $النص ); 764 | 765 | } 766 | 767 | // php rtrim 768 | // حذف المسافات من يمين النص 769 | function حذف_المسافات_من_يمين_النص( $النص ) { 770 | 771 | return rtrim( $النص ); 772 | 773 | } 774 | 775 | // php md5 776 | // تشفير النص وتحويله إلى md5 777 | function تشفير_ام_دي_5( $النص ) { 778 | 779 | return md5( $النص ); 780 | 781 | } 782 | 783 | // php sha1 784 | // تشفير النص وتحويله إلى sha1 785 | function تشفير_شا_1( $النص ) { 786 | 787 | return sha1( $النص ); 788 | 789 | } 790 | 791 | // php sprintf 792 | // استبدال المتغيرات ضمن النص %s 793 | // استبدال_متغيرات_النصوص( $النص , $المتغير1 [, $المتغير2] ) 794 | function استبدال_متغيرات_النصوص() { 795 | 796 | return call_user_func_array( "sprintf" , func_get_args() ); 797 | 798 | } 799 | 800 | // php mb_strlen 801 | // جلب عدد أحرف النص 802 | function عدد_الخانات( $النص ){ 803 | 804 | return mb_strlen( $النص ); 805 | 806 | } 807 | 808 | // php str_word_count 809 | // جلب عدد الكلمات ضمن النص 810 | function عدد_الكلمات( $النص ){ 811 | 812 | return str_word_count( $النص ); 813 | 814 | } 815 | 816 | // php strrev 817 | // قلت أحرف النص بين بعضها 818 | function عكس_النص( $النص ){ 819 | 820 | return strrev( $النص ); 821 | 822 | } 823 | 824 | // php mb_strpos 825 | // ايجاد موضع نص ضمن النص الأساسي 826 | // موضع_النص( $النص , $البحث [, $البداية] ) 827 | function موضع_النص(){ 828 | 829 | return call_user_func_array( "mb_strpos" , func_get_args() ); 830 | 831 | } 832 | 833 | // php strtoupper 834 | // تحويل النص إلى أحرف كبيرة 835 | function تبديل_لكبير( $النص ){ 836 | 837 | return strtoupper( $النص ); 838 | 839 | } 840 | 841 | // php strtolower 842 | // تحويل النص إلى أحرف صغيرة 843 | function تبديل_لصغير( $النص ){ 844 | 845 | return strtolower( $النص ); 846 | 847 | } 848 | 849 | // php substr_count 850 | // إيجاد عدد المطابقات ضمن النص 851 | // عدد_المطابقات( $النص , المطابقة [, $البداية ][, $مجال_البحث] ) 852 | function عدد_المطابقات(){ 853 | 854 | return call_user_func_array( "substr_count" , func_get_args() ); 855 | 856 | } 857 | 858 | // php wordwrap 859 | // إضافة نص إلى النص كل عدد أحرف معين 860 | function إضافة_نص_كل( $النص , $الحجم = 75 , $بداية_السطر = "\n" ){ 861 | 862 | return htmlspecialchars( $النص , $الحجم , $بداية_السطر ); 863 | 864 | } 865 | 866 | // php htmlspecialchars 867 | // طباعة النص مع تجاهل HTML 868 | function الكود_إلى_نص( $النص ){ 869 | 870 | return htmlspecialchars( $النص ); 871 | 872 | } 873 | 874 | /************************************* النصوص *************************************/ 875 | 876 | 877 | 878 | 879 | 880 | /************************************* الأرقام *************************************/ 881 | 882 | // php abs 883 | // جلب الرقم الايجابي من الرقم المعطى 884 | function جلب_الرقم_الإيجابي( $الرقم ){ 885 | 886 | return abs( $الرقم ); 887 | 888 | } 889 | 890 | // php ceil 891 | // تقريب الرقم للعدد الأعلى 892 | function تقريب_لأعلى( $الرقم ){ 893 | 894 | return ceil( $الرقم ); 895 | 896 | } 897 | 898 | // php floor 899 | // تقريب الرقم للعدد الأدنى 900 | function تقريب_لأسفل( $الرقم ){ 901 | 902 | return floor( $الرقم ); 903 | 904 | } 905 | 906 | // php round 907 | // تقريب إلى عدد محدد من الفواصل 908 | function تقريب_إلى_فواصل( $الرقم , $الفواصل = 0 ){ 909 | 910 | return round( $الرقم , $الفواصل ); 911 | 912 | } 913 | 914 | // php is_finite 915 | // إذا كان الرقم محدود 916 | function هل_الرقم_محدود( $الرقم ){ 917 | 918 | return is_finite( $الرقم ); 919 | 920 | } 921 | 922 | // php is_infinite 923 | // إذا كان الرقم غير محدود 924 | function هل_الرقم_غير_محدود( $الرقم ){ 925 | 926 | return is_infinite( $الرقم ); 927 | 928 | } 929 | 930 | // php is_nan 931 | // إذا كان المتغير غير رقمي 932 | function هل_المتغير_غير_رقمي( $المتغير ){ 933 | 934 | return is_nan( $المتغير ); 935 | 936 | } 937 | // php max 938 | // جلب الرقم الأقل من ضمن مجموعة أرقام 939 | // جلب_الأعلى( الرقم1 , الرقم2 [, الرقم3 ...] ) 940 | // جلب_الأعلى( [ الرقم1 , الرقم2 [, الرقم3 ...] ] ) 941 | function جلب_الأعلى(){ 942 | 943 | return call_user_func_array( "max" , func_get_args() ); 944 | 945 | } 946 | 947 | // php min 948 | // جلب الرقم الأقل من ضمن مجموعة أرقام 949 | // جلب_الأقل( الرقم1 , الرقم2 [, الرقم3 ...] ) 950 | // جلب_الأقل( [ الرقم1 , الرقم2 [, الرقم3 ...] ] ) 951 | function جلب_الأقل(){ 952 | 953 | return call_user_func_array( "min" , func_get_args() ); 954 | 955 | } 956 | 957 | // php mt_rand 958 | // توليد رقم بين رقمين 959 | // توليد_رقم_بين( الرقم_الأقل , الرقم_الأعلى ) 960 | function توليد_رقم_بين(){ 961 | 962 | return call_user_func_array( "mt_rand" , func_get_args() ); 963 | 964 | } 965 | 966 | /************************************* الأرقام *************************************/ 967 | 968 | 969 | 970 | 971 | 972 | /************************************* الجلسات و الكوكيز *************************************/ 973 | 974 | // php $_COOKIE 975 | // إذا كان الكوكيز المطلوب قد تم إدخاله 976 | function هل_الكوكيز_مضاف( $الاسم ){ 977 | 978 | return isset( $_COOKIE[ $الاسم ] ); 979 | 980 | } 981 | 982 | // جلب قيمة الكوكيز 983 | function جلب_الكوكيز( $الاسم ){ 984 | 985 | return $_COOKIE[ $الاسم ]; 986 | 987 | } 988 | 989 | // تعديل قيمة الكوكيز 990 | function تعديل_الكوكيز( $الاسم , $القيمة , $المدة = 86400 * 30 ){ 991 | 992 | setcookie( $الاسم , $القيمة , time() + $المدة , "/"); 993 | 994 | } 995 | 996 | // حذف الكوكيز 997 | // واحدة أو الكل 998 | function حذف_الكوكيز( $الاسم = null ){ 999 | 1000 | if ( $الاسم ) { 1001 | 1002 | تعديل_الكوكيز( $الاسم , "" , - 3600 ); 1003 | 1004 | unset( $_COOKIE[ $الاسم ] ); 1005 | 1006 | } else { 1007 | 1008 | foreach ( $_COOKIE as $الاسم => $القيمة ) { 1009 | 1010 | تعديل_الكوكيز( $الاسم , "" , - 3600 ); 1011 | 1012 | unset( $_COOKIE[ $الاسم ] ); 1013 | 1014 | } 1015 | 1016 | } 1017 | 1018 | } 1019 | 1020 | // php $_SESSION 1021 | // قبل استخدام الجلسات يجب تشغيل العملية هذه 1022 | function تفعيل_الجلسات(){ 1023 | 1024 | session_start(); 1025 | 1026 | } 1027 | 1028 | // إذا كانت الجلسة تم إضافتها 1029 | function هل_الجلسة_مضافة( $الاسم ){ 1030 | 1031 | return isset( $_SESSION[ $الاسم ] ); 1032 | 1033 | } 1034 | 1035 | // جلب قيمة الجلسة 1036 | function جلب_الجلسة( $الاسم ){ 1037 | 1038 | return $_SESSION[ $الاسم ]; 1039 | 1040 | } 1041 | 1042 | // تعديل قيمة الجلسة 1043 | function تعديل_الجلسة( $الاسم , $القيمة ){ 1044 | 1045 | $_SESSION[ $الاسم ] = $القيمة; 1046 | 1047 | } 1048 | 1049 | // حذف الجلسات 1050 | // واحدة أو الكل 1051 | function حذف_الجلسات( $الاسم = null ){ 1052 | 1053 | if ( $الاسم ) { 1054 | 1055 | unset( $_SESSION[ $الاسم ] ); 1056 | 1057 | } else { 1058 | 1059 | session_unset(); 1060 | 1061 | session_destroy(); 1062 | 1063 | } 1064 | 1065 | } 1066 | 1067 | /************************************* الجلسات و الكوكيز *************************************/ 1068 | 1069 | 1070 | 1071 | 1072 | 1073 | /************************************* بوست جيت فايل *************************************/ 1074 | 1075 | // php $_POST 1076 | // إذا كان هناك بيانات بوست تم استلامها 1077 | // واحدة أو الكل 1078 | function هل_متغير_بوست_معرف( $الاسم = "" ){ 1079 | 1080 | if ( $الاسم ) { 1081 | 1082 | return isset( $_POST[ $الاسم ] ); 1083 | 1084 | } 1085 | 1086 | return isset( $_POST ); 1087 | 1088 | } 1089 | 1090 | // جلب قيمة متغير بوست 1091 | function جلب_بوست( $الاسم = "" ){ 1092 | 1093 | if ( $الاسم ) { 1094 | 1095 | return $_POST[ $الاسم ]; 1096 | 1097 | } 1098 | 1099 | return $_POST; 1100 | 1101 | } 1102 | 1103 | // php $_GET 1104 | // إذا كان هناك بيانات جيت تم استلامها 1105 | // واحدة أو الكل 1106 | function هل_متغير_جيت_معرف( $الاسم = "" ){ 1107 | 1108 | if ( $الاسم ) { 1109 | 1110 | return isset( $_GET[ $الاسم ] ); 1111 | 1112 | } 1113 | 1114 | return isset( $_GET ); 1115 | 1116 | } 1117 | 1118 | // جلب قيمة متغير جيت 1119 | function جلب_جيت( $الاسم = "" ){ 1120 | 1121 | if ( $الاسم ) { 1122 | 1123 | return $_GET[ $الاسم ]; 1124 | 1125 | } 1126 | 1127 | return $_GET; 1128 | 1129 | } 1130 | 1131 | // php $_FILES 1132 | // إذا كان هناك ملفات تم استلامها 1133 | // واحدة أو الكل 1134 | function هل_متغير_المرفق_معرف( $الاسم = "" ){ 1135 | 1136 | if ( $الاسم ) { 1137 | 1138 | return isset( $_FILES[ $الاسم ] ); 1139 | 1140 | } 1141 | 1142 | return isset( $_FILES ); 1143 | 1144 | } 1145 | 1146 | // جلب بيانات المرفقات 1147 | // واحد أو الكل 1148 | function جلب_المرفق( $الاسم = "" ){ 1149 | 1150 | if ( $الاسم ) { 1151 | 1152 | return $_FILES[ $الاسم ]; 1153 | 1154 | } 1155 | 1156 | return $_FILES; 1157 | 1158 | } 1159 | 1160 | // جلب الاسم الحقيقي للمرفق 1161 | function جلب_اسم_المرفق( $الاسم ){ 1162 | 1163 | return $_FILES[ $الاسم ][ "name" ]; 1164 | 1165 | } 1166 | 1167 | // جلب الاسم المؤقت للمرفق 1168 | function جلب_الاسم_المؤقت_للمرفق( $الاسم ){ 1169 | 1170 | return $_FILES[ $الاسم ][ "tmp_name" ]; 1171 | 1172 | } 1173 | 1174 | // جلب حجم المرفق 1175 | function جلب_حجم_المرفق( $الاسم ){ 1176 | 1177 | return $_FILES[ $الاسم ][ "size" ]; 1178 | 1179 | } 1180 | 1181 | // جلب نوع المرفق 1182 | function جلب_نوع_المرفق( $الاسم ){ 1183 | 1184 | return $_FILES[ $الاسم ][ "type" ]; 1185 | 1186 | } 1187 | 1188 | /************************************* بوست جيت فايل *************************************/ 1189 | 1190 | 1191 | 1192 | 1193 | 1194 | /************************************* الملفات *************************************/ 1195 | 1196 | // php file_get_contents 1197 | // جلب محتويات ملف من السيرفر أو موقع آخر 1198 | function جلب_محتويات_ملف( $الرابط ){ 1199 | 1200 | return file_get_contents( $الرابط ); 1201 | 1202 | } 1203 | 1204 | // php unlink 1205 | // حذف ملف من السيرفر 1206 | function حذف_ملف( $الاسم ){ 1207 | 1208 | return unlink( $الاسم ); 1209 | 1210 | } 1211 | 1212 | // php rename 1213 | // إعادة تسمية ملف على السيرفر 1214 | function إعادة_تسمية_ملف( $الملف , $الاسم_الجديد ){ 1215 | 1216 | return pathinfo( $الملف , $الاسم_الجديد ); 1217 | 1218 | } 1219 | 1220 | // php pathinfo 1221 | // معلومات الرابط 1222 | function معلومات_الرابط( $الرابط ){ 1223 | 1224 | return pathinfo( $الرابط ); 1225 | 1226 | } 1227 | 1228 | // php mkdir 1229 | // إنشاء مجلد على السيرفر 1230 | function إنشاء_مجلد( $الاسم ){ 1231 | 1232 | return mkdir( $الاسم ); 1233 | 1234 | } 1235 | 1236 | // php is_dir 1237 | // هل الرابط مجلد 1238 | function هل_الرابط_مجلد( $الرابط ){ 1239 | 1240 | return is_dir( $الرابط ); 1241 | 1242 | } 1243 | 1244 | // php copy 1245 | // نسخ ملف 1246 | // نسخ_ملف( $الملف_الأساس , $الملف_الوجهة ) 1247 | function نسخ_ملف(){ 1248 | 1249 | return call_user_func_array( "copy" , func_get_args() ); 1250 | 1251 | } 1252 | 1253 | // php dirname 1254 | // جلب رايط المجلد 1255 | function جلب_رابط_المجلد( $الرابط ){ 1256 | 1257 | return dirname( $الرابط ); 1258 | 1259 | } 1260 | 1261 | // php basename 1262 | // جلب اسم الملف 1263 | // جلب_اسم_الملف( $الرابط [, $اللاحقة] ) 1264 | function جلب_اسم_الملف(){ 1265 | 1266 | return call_user_func_array( "basename" , func_get_args() ); 1267 | 1268 | } 1269 | 1270 | // php file_exists 1271 | // إذا كان الملف موجود 1272 | function هل_الملف_موجود( $الرابط ){ 1273 | 1274 | return file_exists( $الرابط ); 1275 | 1276 | } 1277 | 1278 | // قراءة ملف من السيرفر 1279 | function قراءة_ملف( $الرابط ){ 1280 | 1281 | $المخرجات = ""; 1282 | 1283 | $الملف = fopen( $الرابط , "r" ); 1284 | 1285 | $المخرجات = fread( $الملف , filesize( $الرابط ) ); 1286 | 1287 | fclose( $الملف ); 1288 | 1289 | return $المخرجات; 1290 | 1291 | } 1292 | 1293 | // كتابة ملف إلى السيرفر 1294 | function كتابة_ملف( $الرابط , $البيانات ){ 1295 | 1296 | $الملف = fopen( $الرابط , "w" ); 1297 | 1298 | fwrite($الملف, $البيانات); 1299 | 1300 | fclose($الملف); 1301 | 1302 | } 1303 | 1304 | // php move_uploaded_file 1305 | // رفع ملف إلى السيرفر 1306 | function رفع_ملف( $الاسم , $الوجهة ){ 1307 | 1308 | return move_uploaded_file( جلب_الاسم_المؤقت_للمرفق( $الاسم ) , $الوجهة ); 1309 | 1310 | } 1311 | 1312 | /************************************* الملفات *************************************/ 1313 | 1314 | 1315 | 1316 | 1317 | 1318 | /************************************* قاعدة البيانات *************************************/ 1319 | 1320 | // إنشاء اتصال mysql جديد 1321 | function إنشاء_اتصال( $المضيف , $اسم_المستخدم , $كلمة_المرور , $قاعدة_البيانات ) { 1322 | 1323 | return new mysqli( $المضيف , $اسم_المستخدم , $كلمة_المرور , $قاعدة_البيانات ); 1324 | 1325 | } 1326 | 1327 | // php mysql insert , update , delete , select 1328 | // إدخال ، تعديل ، حذف أو جلب بيانات من قاعدة البيانات 1329 | // الطلبات المسموح كتابتها باللغة العربية 1330 | // ، , 1331 | // ع.جلب select 1332 | // ع.من from 1333 | // ع.عندما_يكون where 1334 | // ع.حد limit 1335 | // ع.العدد count 1336 | // ع.حذف delete 1337 | // ع.تحديث update 1338 | // ع.الترتيب order by 1339 | // ع.تصاعدي asc 1340 | // ع.تنازلي desc 1341 | // ع.أعلى max 1342 | // ع.أقل min 1343 | // ع.إدخال insert into 1344 | // ع.القيم values 1345 | // ع.إعداد set 1346 | // ع.و and 1347 | // ع.أو or 1348 | function طلب_قاعدة_بيانات( $الاتصال , $الطلب , $تحديث_أو_حذف_أو_إدخال = خاطئ ){ 1349 | 1350 | $الطلب = استبدال_الكل( 1351 | $الطلب 1352 | , [ "،" , "ع.جلب" , "ع.من" , "ع.عندما_يكون" , "ع.حد" , "ع.العدد" , "ع.حذف" , "ع.تحديث" , "ع.الترتيب" , "ع.تصاعدي" , "ع.تنازلي" , "ع.أعلى" , "ع.أقل" , "ع.إدخال" , "ع.القيم" , "ع.إعداد" , "ع.و" , "ع.أو" ] 1353 | , [ "," , "select" , "from" , "where" , "limit" , "count" , "delete" , "update" , "order by" , "asc" , "desc" , "max" , "min" , "insert into" , "values" , "set" , "and" , "or" ] 1354 | ); 1355 | 1356 | $نتيجة_الطلب = $الاتصال->query( $الطلب ); 1357 | 1358 | if ( $تحديث_أو_حذف_أو_إدخال ) { 1359 | 1360 | return $نتيجة_الطلب; 1361 | 1362 | } else { 1363 | 1364 | $النتيجة = array( "عدد_الصفوف" => $نتيجة_الطلب->num_rows , "الصفوف" => array() ); 1365 | 1366 | while( $الصف = $نتيجة_الطلب->fetch_array() ){ 1367 | 1368 | $النتيجة[ "الصفوف" ] = $الصف; 1369 | 1370 | } 1371 | 1372 | return $النتيجة; 1373 | 1374 | } 1375 | 1376 | } 1377 | 1378 | // php mysql insert_id 1379 | // جلب معرف آخر صف تم إدخاله في قاعدة البيانات 1380 | function آخر_مدخل( $الاتصال ){ 1381 | 1382 | return $الاتصال->insert_id; 1383 | 1384 | } 1385 | 1386 | /************************************* قاعدة البيانات *************************************/ 1387 | 1388 | // php sleep 1389 | // لإيقاف السكربت وقت محدد 1390 | function ايقاف_السكربت_مؤقت( $الوقت ) { 1391 | 1392 | sleep( $الوقت ); 1393 | 1394 | } 1395 | 1396 | // php exit 1397 | // لإيقاف السكربت ومنع متابعة استخراجه 1398 | function ايقاف_السكربت() { 1399 | 1400 | exit; 1401 | 1402 | } 1403 | 1404 | // php include 1405 | // لتضمين ملف داخل السكربت 1406 | function تصمين_ملف( $الملف ) { 1407 | 1408 | include $الملف; 1409 | 1410 | } 1411 | 1412 | // php define 1413 | // تعريف متغير لتتمكن من استخدامه ضمن السكربت في أي مكان 1414 | function تعريف_متغير( $الاسم , $المتفير ) { 1415 | 1416 | define( $الاسم , $المتفير ); 1417 | 1418 | } 1419 | 1420 | // إذا كان المتغير بريد إلكتروني 1421 | function هل_المتغير_بريد( $المتفير ) { 1422 | 1423 | return filter_var( $المتفير , FILTER_VALIDATE_EMAIL ); 1424 | 1425 | } 1426 | 1427 | // php empty 1428 | // إذا كان المتغير له قيمة 1429 | function هل_المتغير_بلا_قيمة( $المتفير ) { 1430 | 1431 | return empty( $المتفير ); 1432 | 1433 | } 1434 | 1435 | // php intval 1436 | // استخراج الرقم من النص 1437 | function جلب_الرقم( $النص ) { 1438 | 1439 | return intval( $النص ); 1440 | 1441 | } 1442 | 1443 | // php floatval 1444 | // استخراج الرقم مع الفواصل من النص 1445 | function جلب_الرقم_مع_فواصل( $النص ) { 1446 | 1447 | return floatval( $النص ); 1448 | 1449 | } 1450 | 1451 | // php print_r 1452 | // طباعة مصفوفة 1453 | function طباعة_مصفوفة( $المصفوفة ){ 1454 | 1455 | echo print_r( $المصفوفة ); 1456 | 1457 | } 1458 | 1459 | // php echo 1460 | // طباعة نص 1461 | function طباعة( $النص ){ 1462 | 1463 | echo $النص; 1464 | 1465 | } 1466 | 1467 | // $_SERVER["HTTP_REFERER"] 1468 | // هل الرابط مباشر أو تم التحويل من رابط آخر 1469 | function هل_رابط_الإحالة_معرف() { 1470 | 1471 | return isset($_SERVER["HTTP_REFERER"]); 1472 | 1473 | } 1474 | 1475 | // جلب فروع الرابط 1476 | // http://example.com/blog/year/month/day 1477 | // blog/year/month/day 1478 | function جلب_مصفوفة_الفروع( $مجلد_الموقع = "" ){ 1479 | 1480 | $الفروع = فروع_الرابط; 1481 | 1482 | if( اقتطاع( $الفروع , 0 , 1 ) === "/" ){ 1483 | 1484 | $الفروع = اقتطاع( $الفروع , 1 ); 1485 | 1486 | } 1487 | 1488 | if ( $مجلد_الموقع && تبديل_لصغير( اقتطاع( $الفروع , 0 , عدد_الخانات( $مجلد_الموقع ) ) ) === تبديل_لصغير( $مجلد_الموقع ) ) { 1489 | 1490 | $الفروع = اقتطاع( $الفروع , عدد_الخانات( $مجلد_الموقع ) ); 1491 | 1492 | } 1493 | 1494 | if( اقتطاع( $الفروع , 0 , 1 ) === "/" ){ 1495 | 1496 | $الفروع = اقتطاع( $الفروع , 1 ); 1497 | 1498 | } 1499 | 1500 | $الفروع = explode( "/" , $الفروع ); 1501 | 1502 | return $الفروع; 1503 | 1504 | } -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2019 عبدالستار الخلف 2 | Permission is hereby granted, free of charge, to any person 3 | obtaining a copy of this software and associated documentation 4 | files (the "Software"), to deal in the Software without 5 | restriction, including without limitation the rights to use, 6 | copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the 8 | Software is furnished to do so, subject to the following 9 | conditions: 10 | 11 | The above copyright notice and this permission notice shall be 12 | included in all copies or substantial portions of the Software. 13 | 14 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 15 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES 16 | OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 17 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT 18 | HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, 19 | WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 20 | FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR 21 | OTHER DEALINGS IN THE SOFTWARE. -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |
2 | 3 | # مكتبة البي اتش بي العربي ع 4 | 5 | مكتبة البي اتش بي العربي تضم مجموعة ضخمة من العمليات باللغة العربية ومحرك لقالب PHP ليتمكن المطور من كتابة أكواد PHP باللغة العربية. 6 | 7 | كتبت باللغة العربية لتسهيل تطوير المواقع للمطورين العرب. 8 | 9 | بإمكان المطور كتابة أكواد PHP باللغة العربية أو اللغة الإنكليزية ضمن القالب. 10 | 11 | يسهل القالب عمل المطور حيث يتم كتابة أكواد و عمليات PHP جنباً إلى جنب مع أكواد HTML. 12 | 13 | يمكن استخدام المكتبة بعد تضمين الملف الخاص بها كما يلي: 14 | 15 | ```php 16 | require_once 'Arabic-PHP-Engine.php'; 17 | ``` 18 | 19 | يمكنك استخدام القالب لتضمين الملفات كم يلي: 20 | 21 | ```php 22 | $ع = new ع; 23 | $ع->تضمين( رابط الملف 1 ); 24 | $ع->تضمين( رابط الملف 2 ); 25 | $ع->تضمين( رابط الملف 3 ); 26 | ``` 27 | 28 | **ما يمكن كتابته باللغة العربية ضمن القالب** 29 | 30 | ```php 31 | ؛ - ; 32 | ، - , 33 | ع.إذا_كان - if 34 | ع.أو_إذا - else if 35 | ع.آخر - else 36 | ع.عملية - function 37 | ع.سويتش - switch 38 | ع.الحالة - case 39 | ع.إفتراضي - default 40 | ع.بينما - while 41 | ع.عمل - do 42 | ع.من_أجل - for 43 | ع.من_أجل_الكل - foreach 44 | ع.مصفوفة - array 45 | ع.كـ - as 46 | ع.عام - global 47 | ``` 48 | 49 | **مثال** 50 | 51 | ```html 52 |
سطر 1
53 |
سطر 2
54 | ع_ع 55 | $تم_الدخول = خاطئ؛ 56 | ع.إذا_كان( $تم_الدخول ){ 57 | ع_ع 58 | تم تسجيل الدخول 59 | ع_ع 60 | }ع.آخر{ 61 | ع_ع 62 | فضلاً قم بتسجيل الدخول 63 | ع_ع 64 | } 65 | ع_ع 66 | ``` 67 | 68 | بداية ونهاية الكود الأساسية هي "ع_ع" 69 | 70 | يمكن تغيير البداية والنهاية لنص مخصص عن طريق الكود التالي: 71 | 72 | ```php 73 | $ع->الرمز = "النص"; 74 | ``` 75 | 76 | يمكنك استخدام أكواد PHP الأساسية ضمن القالب بدون أخطاء إذا احتجت إلى ذلك. 77 | 78 | 79 | # العمليات والمتغيرات باللغة العربية 80 | 81 | ### المتغيرات 82 | 83 | يمكن استخدامها ضمن القالب أو خارجه بدون مشاكل 84 | 85 | - **لغة_المتصفح:** اللغة الحالية للمتصفح من حرفين ar , en ... 86 | ```php 87 | طباعة( لغة_المتصفح ); 88 | النتيجة: نص من حرفين 89 | ``` 90 | 91 | - **اسم_الملف_الحالي:** اسم الملف الحالي PHP_SELF 92 | ```php 93 | طباعة( اسم_الملف_الحالي ); 94 | النتيجة: نص 95 | ``` 96 | 97 | - **ايبي_المضيف:** اي بي المضيف SERVER_ADDR 98 | ```php 99 | طباعة( ايبي_المضيف ); 100 | النتيجة: نص 101 | ``` 102 | - **نوع_الطلب:** نوع طلب الصفحة post , get 103 | ```php 104 | طباعة( نوع_الطلب ); 105 | النتيجة: نص 106 | ``` 107 | 108 | - **متغيرات_الرابط:** ?id=1&name=test... 109 | ```php 110 | طباعة( متغيرات_الرابط ); 111 | النتيجة: نص 112 | ``` 113 | 114 | - **الدومين:** دومين الموقع 115 | ```php 116 | طباعة( الدومين ); 117 | النتيجة: نص 118 | ``` 119 | 120 | - **ايبي_المستخدم:** اي بي المستخدم REMOTE_ADDR 121 | ```php 122 | طباعة( ايبي_المستخدم ); 123 | النتيجة: نص 124 | ``` 125 | 126 | - **رابط_الملف_الكامل:** الرابط الكامل للملف SCRIPT_FILENAME 127 | ```php 128 | طباعة( رابط_الملف_الكامل ); 129 | النتيجة: نص 130 | ``` 131 | 132 | - **فروع_الرابط:** فروع الرابط /blog/year/month/day/ 133 | ```php 134 | طباعة( فروع_الرابط ); 135 | النتيجة: مصفوفة تحوي كل الفروع 136 | ``` 137 | 138 | - **صحيح:** تستخدم في أي مكان بدل true 139 | ```php 140 | $متغير = صحيح; 141 | ``` 142 | 143 | - **خاطئ:** تستخدم في أي مكان بدل false 144 | ```php 145 | $متغير = خاطئ; 146 | ``` 147 | 148 | - **الأمان_مفعل:** إذا كان التصفح عبر https 149 | ```php 150 | طباعة( الأمان_مفعل ); 151 | النتيجة: true أو false 152 | ``` 153 | 154 | - **الرابط_الأساسي:** رابط الموقع الأساسي بدون فروع أو متغيرات http://www.example.com/ 155 | ```php 156 | طباعة( الرابط_الأساسي ); 157 | النتيجة: نص 158 | ``` 159 | 160 | - **الرابط_الكامل:**الرابط الكامل للصفحة http://www.example.com/blog/year/month/day/name 161 | ```php 162 | طباعة( الرابط_الكامل ); 163 | النتيجة: نص 164 | ``` 165 | 166 | - **معرف_المتصفح:** معرف المتصفح user agent 167 | ```php 168 | طباعة( معرف_المتصفح ); 169 | النتيجة: نص 170 | ``` 171 | 172 | - **هل_التصفح_من_هاتف:** إذا كان التصفح عبر هاتف 173 | ```php 174 | طباعة( هل_التصفح_من_هاتف ); 175 | النتيجة: true أو false 176 | ``` 177 | 178 | ### العمليات العامة 179 | 180 | - **توليد_نص():** توليد نص عشوائي 181 | ```php 182 | توليد_نص( [$الحجم] ); 183 | $الحجم = 10 184 | النتيجة: نص 185 | ``` 186 | 187 | - **توليد_رقم():** توليد رقم عشوائي 188 | ```php 189 | توليد_رقم( [$الحجم] ); 190 | $الحجم = 10 191 | النتيجة: نص 192 | ``` 193 | 194 | - **ايقاف_السكربت_مؤقت()** - إيقاف السكربت وقت محدد sleep 195 | ```php 196 | ايقاف_السكربت_مؤقت( $الوقت ); 197 | ``` 198 | 199 | - **ايقاف_السكربت()** - إيقاف السكربت ومنع متابعة استخراجه 200 | ```php 201 | ايقاف_السكربت(); 202 | ``` 203 | 204 | - **تصمين_ملف()** - لتضمين ملف داخل السكربت include 205 | ```php 206 | تصمين_ملف( $الملف ); 207 | ``` 208 | 209 | - **تعريف_متغير()** - تعريف متغير لتتمكن من استخدامه ضمن السكربت في أي مكان define 210 | ```php 211 | تعريف_متغير( $الاسم , $المتفير ); 212 | ``` 213 | 214 | - **هل_المتغير_بريد()** - إذا كان المتغير بريد إلكتروني 215 | ```php 216 | هل_المتغير_بريد( $المتفير ); 217 | النتيجة: true أو false 218 | ``` 219 | 220 | - **هل_المتغير_بلا_قيمة()** - إذا كان المتغير له قيمة empty 221 | ```php 222 | هل_المتغير_بلا_قيمة( $المتفير ); 223 | النتيجة: true أو false 224 | ``` 225 | 226 | - **جلب_الرقم()** - استخراج الرقم من النص intval 227 | ```php 228 | جلب_الرقم( $النص ); 229 | النتيجة: رقم 230 | ``` 231 | 232 | - **جلب_الرقم_مع_فواصل()** - استخراج الرقم مع الفواصل من النص floatval 233 | ```php 234 | جلب_الرقم_مع_فواصل( $النص ); 235 | النتيجة: رقم 236 | ``` 237 | 238 | - **طباعة_مصفوفة()** - طباعة مصفوفة print_r 239 | ```php 240 | طباعة_مصفوفة( $المصفوفة ); 241 | ``` 242 | 243 | - **طباعة()** - طباعة نص echo 244 | ```php 245 | طباعة( $النص ); 246 | ``` 247 | 248 | - **هل_رابط_الإحالة_معرف()** - هل الرابط مباشر أو تم التحويل من رابط آخر $_SERVER["HTTP_REFERER"] 249 | ```php 250 | هل_رابط_الإحالة_معرف(); 251 | النتيجة: true أو false 252 | ``` 253 | 254 | - **جلب_مصفوفة_الفروع()** - جلب فروع الرابط 255 | ```php 256 | جلب_مصفوفة_الفروع( $مجلد_الموقع = "" ); 257 | النتيجة: مصفوفة 258 | 259 | http://example.com/blog/year/month/day 260 | جلب_مصفوفة_الفروع(); 261 | النتيجة: array( 0 => "blog" , 1 => "year" , 2 => "month" , 3 => "day" ) 262 | 263 | http://example.com/blog/year/month/day 264 | جلب_مصفوفة_الفروع( "blog" ); 265 | جلب_مصفوفة_الفروع( "blog/" ); 266 | النتيجة: array( 0 => "year" , 1 => "month" , 2 => "day" ) 267 | ``` 268 | 269 | ### عمليات المصفوفة array 270 | 271 | - **تغيير_حالة_أحرف_المصفوفة()** - تغيير حالة أحرف مفاتيح المصفوفة array_change_key_case 272 | ```php 273 | تغيير_حالة_أحرف_المصفوفة( $المصفوفة , أحرف_كبيرة | أحرف_صغيرة ); 274 | النتيجة: مصفوفة 275 | ``` 276 | 277 | - **تقسيم_المصفوفة()** - تقسيم المصفوفة إلى مصفوفات ضمن المصفوفة الأساسية array_chunk 278 | ```js 279 | تقسيم_المصفوفة( $المصفوفة , $العدد ); 280 | النتيجة: مصفوفة 281 | ``` 282 | 283 | - **دمج_مصفوفتين()** - دمج مصفوفتين الأولى تكون مفاتيح والثانية قيم array_combine 284 | ```js 285 | دمج_مصفوفتين( $المصفوفة_1 , $المصفوفة_2 ); 286 | النتيجة: مصفوفة 287 | ``` 288 | 289 | - **فرق_القيم_بين_المصفوفات()** - ايجاد الفرق بين المصفوفات array_diff 290 | ```php 291 | فرق_القيم_بين_المصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] -. ) 292 | النتيجة: مصفوفة 293 | ``` 294 | 295 | - **قلب_القيم_والمفاتيح_للمصفوفة()** - التبديل بين القيم و المفاتيح للمصفوفة array_flip 296 | ```php 297 | قلب_القيم_والمفاتيح_للمصفوفة( $المصفوفة ); 298 | النتيجة: مصفوفة 299 | ``` 300 | 301 | - **ايجاد_القيم_المشتركة_بين_المصفوفات()** - ايجاد القيم المشتركة بين المصفوفات array_intersect 302 | ```php 303 | ايجاد_القيم_المشتركة_بين_المصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ); 304 | النتيجة: مصفوفة 305 | ``` 306 | 307 | - **هل_تحوي_المصفوفة_مفتاح()** - إذا كانت المصفوفة تحوي مفتاح array_key_exists 308 | ```php 309 | هل_تحوي_المصفوفة_مفتاح( $المفتاح , $المصفوفة ); 310 | النتيجة: true أو false 311 | ``` 312 | 313 | - **جلب_مفاتيح_المصفوفة()** - جلب مفاتيح المصفوفة ضمن مصفوفة جديدة array_keys 314 | ```php 315 | جلب_مفاتيح_المصفوفة( $المصفوفة ); 316 | النتيجة: مصفوفة 317 | ``` 318 | 319 | - **تطبيق_عملية_على_قيم_المصفوفة()** - تطبيق عملية محددة على كافة قيم المصفوفة array_map 320 | ```php 321 | تطبيق_عملية_على_قيم_المصفوفة( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ); 322 | ``` 323 | 324 | - **دمج_مصفوفات()** - دمج عدة مصفوفات array_merge 325 | ```php 326 | دمج_مصفوفات( $المصفوفة1 [, $المصفوفة2] [, $المصفوفة3] ... ); 327 | النتيجة: مصفوفة 328 | ``` 329 | 330 | - **حذف_آخر_عنصر_من_المصفوفة()** - حذف آخر عنصر من المصفوفة array_pop 331 | ```php 332 | حذف_آخر_عنصر_من_المصفوفة( $المصفوفة ); 333 | ``` 334 | 335 | - **إضافة_عناصر_إلى_المصفوفة()** - إضافة قيم إلى نهاية المصفوفة array_push 336 | ```php 337 | إضافة_عناصر_إلى_المصفوفة( $المصفوفة , $القيمة1 [, $القيمة2] [, $القيمة3 ] ... ); 338 | ``` 339 | 340 | - **جلب_عناصر_عشوائية_من_المصفوفة()** - جلب عناصر عشوائية من المصفوفة array_rand 341 | ```php 342 | جلب_عناصر_عشوائية_من_المصفوفة( $المصفوفة , $العدد ); 343 | النتيجة: مصفوفة 344 | ``` 345 | 346 | - **عكس_المصفوفة()** - عكس المصفوفة array_reverse 347 | ```php 348 | عكس_المصفوفة( $المصفوفة ); 349 | النتيجة: مصفوفة 350 | ``` 351 | 352 | - **بحث_في_المصفوفة()** - بحث عن قيمة ضمن المصفوفة و إرجاع المفتاح array_search 353 | ```php 354 | بحث_في_المصفوفة( $البحث , $المصفوفة ); 355 | النتيجة: نص 356 | ``` 357 | 358 | - **حذف_أول_عنصر_من_المصفوفة()** - حذف أول عنصر من المصفوفة array_shift 359 | ```php 360 | حذف_أول_عنصر_من_المصفوفة( $المصفوفة ); 361 | ``` 362 | 363 | - **جلب_قسم_من_المصفوفة()** - جلب قسم من المصفوفة ضمن مصفوفة جديدة array_slice 364 | ```php 365 | جلب_قسم_من_المصفوفة( $المصفوفة , $البداية [, $الحجم] ); 366 | النتيجة: مصفوفة 367 | ``` 368 | 369 | - **جلب_مجموع_قيم_المصفوفة()** - جلب مجموع قيم المصفوفة الرقمية array_sum 370 | ```php 371 | جلب_مجموع_قيم_المصفوفة( $المصفوفة ); 372 | النتيجة: رقم 373 | ``` 374 | 375 | - **حذف_المكرر_من_المصفوفة()** - حذف القيم المكررة من المصفوفة array_unique 376 | ```php 377 | حذف_المكرر_من_المصفوفة( $المصفوفة ); 378 | النتيجة: مصفوفة 379 | ``` 380 | 381 | - **إضافة_عناصر_إلى_بداية_المصفوفة()** - إضافة قيم إلى بداية المصفوفة array_unshift 382 | ```php 383 | إضافة_عناصر_إلى_بداية_المصفوفة( $المصفوفة , $القيمة1 [, $القيمة2] [, $القيمة3 ] ... ); 384 | ``` 385 | 386 | - **جلب_قيم_المصفوفة()** - جلب قيم المصفوفة فقط ضمن مصفوفة جديدة array_values 387 | ```php 388 | جلب_قيم_المصفوفة( $المصفوفة ); 389 | النتيجة: مصفوفة 390 | ``` 391 | 392 | - **ترتيب_قيم_المصفوفة_تصاعدي()** - ترتيب المصفوفة تصاعدياً حسب القيم asort 393 | ```php 394 | ترتيب_قيم_المصفوفة_تصاعدي( $المصفوفة ); 395 | النتيجة: مصفوفة 396 | ``` 397 | 398 | - **ترتيب_قيم_المصفوفة_تنازلي()** - ترتيب المصفوفة تنازلياً حسب القيم arsort 399 | ```php 400 | ترتيب_قيم_المصفوفة_تنازلي( $المصفوفة ); 401 | النتيجة: مصفوفة 402 | ``` 403 | 404 | - **حجم_المصفوفة()** - جلب عدد عناصر المصفوفة count 405 | ```php 406 | حجم_المصفوفة( $المصفوفة ); 407 | النتيجة: رقم 408 | ``` 409 | 410 | - **جلب_العنصر_الحالي_للمصفوفة()** - جلب العنصر الحالي من المصفوفة current 411 | ```php 412 | جلب_العنصر_الحالي_للمصفوفة( $المصفوفة ); 413 | ``` 414 | 415 | - **جلب_العنصر_الأول_للمصفوفة()** - جلب العنصر الأول من المصفوفة reset 416 | ```php 417 | جلب_العنصر_الأول_للمصفوفة( $المصفوفة ); 418 | ``` 419 | 420 | - **جلب_العنصر_الأخير_للمصفوفة()** - جلب العنصر الأخير من المصفوفة end 421 | ```php 422 | جلب_العنصر_الأخير_للمصفوفة( $المصفوفة ); 423 | ``` 424 | 425 | - **جلب_العنصر_التالي_للمصفوفة()** - جلب العنصر التالي من المصفوفة next 426 | ```php 427 | جلب_العنصر_التالي_للمصفوفة( $المصفوفة ); 428 | ``` 429 | 430 | - **جلب_العنصر_السابق_للمصفوفة()** - جلب العنصر السابق من المصفوفة prev 431 | ```php 432 | جلب_العنصر_السابق_للمصفوفة( $المصفوفة ); 433 | ``` 434 | 435 | - **ترتيب_مفاتيح_المصفوفة_تصاعدي()** - ترتيب المصفوفة تصاعدياً حسب المفاتيح ksort 436 | ```php 437 | ترتيب_مفاتيح_المصفوفة_تصاعدي( $المصفوفة ); 438 | النتيجة: مصفوفة 439 | ``` 440 | 441 | - **ترتيب_مفاتيح_المصفوفة_تنازلي()** - ترتيب المصفوفة تنازلياً حسب المفاتيح krsort 442 | ```php 443 | ترتيب_مفاتيح_المصفوفة_تنازلي( $المصفوفة ); 444 | النتيجة: مصفوفة 445 | ``` 446 | 447 | - **توليد_مصفوفة_أرقام()** - توليد مصفوفة من أرقام range 448 | ```php 449 | توليد_مصفوفة_أرقام( $الرقم_الأصغر , $الرقم_الأكبر [, $الفاصل_بين_الأرقام] ); 450 | $الفاصل_بين_الأرقام = 1 451 | النتيجة: مصفوفة 452 | ``` 453 | 454 | - **ترتيب_المصفوفة_عشوائي()** - ترتيب المصفوفة بشكل عشوائي shuffle 455 | ```php 456 | ترتيب_المصفوفة_عشوائي( $المصفوفة ); 457 | النتيجة: مصفوفة 458 | ``` 459 | 460 | - **ترتيب_المصفوفة_تصاعدي()** - ترتيب المصفوفة تصاعدياً sort 461 | ```php 462 | ترتيب_المصفوفة_تصاعدي( $المصفوفة ); 463 | النتيجة: مصفوفة 464 | ``` 465 | 466 | - **ترتيب_المصفوفة_تنازلي()** - ترتيب المصفوفة تنازلياً rsort 467 | ```php 468 | ترتيب_المصفوفة_تنازلي( $المصفوفة ); 469 | النتيجة: مصفوفة 470 | ``` 471 | 472 | - **هل_تملك_المصفوفة_عنصر()** - إذا كانت المصفوفة تحوي قيمة in_array 473 | ```php 474 | هل_تملك_المصفوفة_عنصر( $البحث , $المصفوفة ); 475 | النتيجة: true أو false 476 | ``` 477 | 478 | - **هل_المصفوفة_تحوي_مفاتيح()** - إذا كانت المصفوفة تحوي مفاتيح 479 | ```php 480 | هل_المصفوفة_تحوي_مفاتيح( $المصفوفة ); 481 | ["blue","red"] خاطئ 482 | ["a"=>"blue","b"=>"red"] صحيح 483 | النتيجة: true أو false 484 | ``` 485 | 486 | - **كل()** - لتنفيذ عملية على مفاتيح وقيم المصفوفة 487 | ```php 488 | كل( $المصفوفة , function( $المفتاح , $القيمة ){ } ); 489 | يمكن استخدامها مع المصفوفة التي تحوي مفاتيح 490 | أو مع المصفوفة بدون مفاتيح وتكون قيمة المقتاح هي موضع العنصر 491 | ``` 492 | 493 | ### عمليات الوقت 494 | 495 | - **عدد_أيام_الشهر()** - جلب عدد أيام الشهر من السنة 496 | ```php 497 | عدد_أيام_الشهر( $الشهر , $السنة ); 498 | النتيجة: رقم 499 | ``` 500 | 501 | - **جلب_المنطقة_الزمنية()** - جلب المنطقة الزمنية الحالية 502 | ```php 503 | جلب_المنطقة_الزمنية(); 504 | النتيجة: نص 505 | ``` 506 | 507 | - **تغيير_المنطقة_الزمنية()** - تغيير المنطقة الزمنية الحالية 508 | ```php 509 | تغيير_المنطقة_الزمنية( $المنطقة_الزمنية ); 510 | ``` 511 | 512 | - **الوقت()** - العملية تغنيك عن استخدام time , date 513 | ```php 514 | الوقت(); إرجاع تايم ستامب 515 | الوقت( $المطلوب ); إرجاع قيمة المطلوب يوم، شهر، سنة -. 516 | الوقت( "صيغة" ); إرجاع نص بالقيم المطلوبة 517 | مثال الوقت( "س-ر-م ع:د:ث و" ); 518 | س - سنة 519 | ش - اسم الشهر 520 | ر - رقم الشهر 521 | ي - اسم اليوم 522 | م - رقم اليوم 523 | ع - الساعة 12 524 | ة - الساعة 24 525 | د - دقيقة 526 | ث - ثانية 527 | و - الوضع مساءً أو صباحاً 528 | ``` 529 | 530 | - **النص_إلى_وقت()** - تحويل النص إلى وقت تايم ستامب strtotime 531 | ```php 532 | النص_إلى_وقت( $النص ); 533 | النتيجة: رقم 534 | ``` 535 | 536 | ### عمليات النصوص 537 | 538 | - **اقتطاع()** - اقتطاع جزء محدد من النص mb_substr 539 | ```php 540 | اقتطاع( $النص , $البداية [, $الحجم] ); 541 | النتيجة: نص 542 | ``` 543 | 544 | - **استبدال_الكل()** - البحث عن كل النصوص المطابقة واستبدالها str_replace 545 | ```php 546 | استبدال_الكل( $النص , $البحث , $الاستبدال ); 547 | النتيجة: نص 548 | ``` 549 | 550 | - **استبدال()** - البحث عن نص واستبداله بآخر مرة واحدة preg_replace 551 | ```php 552 | استبدال( $النص , $البحث , $الاستبدال ); 553 | النتيجة: نص 554 | ``` 555 | 556 | - **إضافة_سلاش()** - إضافة سلاش إلى علامات التنصيص addslashes 557 | ```php 558 | إضافة_سلاش( $النص ); 559 | النتيجة: نص 560 | ``` 561 | 562 | - **حذف_سلاش()** - حذف جميع السلاش من النص stripslashes 563 | ```php 564 | حذف_سلاش( $النص ); 565 | النتيجة: نص 566 | ``` 567 | 568 | - **تقطيع_النص()** - تقسيم النص إلى مصفوفة بناءً على بحث explode 569 | ```php 570 | تقطيع_النص( $الفاصل , $النص ); 571 | النتيجة:مصفوفة 572 | ``` 573 | 574 | - **جمع_النصوص_من_مصفوفة()** - جمع قيم المصفوفة وتحويلها إلى نص implode 575 | ```php 576 | جمع_النصوص_من_مصفوفة( $الفاصل , $المصفوفة ); 577 | النتيجة: نص 578 | ``` 579 | 580 | - **حذف_المسافات_من_يسار_النص()** - حذف المسافات من يسار النص ltrim 581 | ```php 582 | حذف_المسافات_من_يسار_النص( $النص ); 583 | النتيجة: نص 584 | ``` 585 | 586 | - **حذف_المسافات_من_يمين_النص()** - حذف المسافات من يمين النص rtrim 587 | ```php 588 | حذف_المسافات_من_يمين_النص( $النص ); 589 | النتيجة: نص 590 | ``` 591 | 592 | - **تشفير_ام_دي_5()** - تشفير النص وتحويله إلى md5 593 | ```php 594 | تشفير_ام_دي_5( $النص ); 595 | النتيجة: نص 596 | ``` 597 | 598 | - **تشفير_شا_1()** - تشفير النص وتحويله إلى sha1 599 | ```php 600 | تشفير_شا_1( $النص ); 601 | النتيجة: نص 602 | ``` 603 | 604 | - **استبدال_متغيرات_النصوص()** - 605 | ```php 606 | استبدال المتغيرات ضمن النص %s sprintf 607 | ``` 608 | 609 | - **عدد_الخانات()** - جلب عدد أحرف النص mb_strlen 610 | ```php 611 | عدد_الخانات( $النص ); 612 | النتيجة: رقم 613 | ``` 614 | 615 | - **عدد_الكلمات()** - جلب عدد الكلمات ضمن النص str_word_count 616 | ```php 617 | عدد_الكلمات( $النص ); 618 | النتيجة: رقم 619 | ``` 620 | 621 | - **عكس_النص()** - قلت أحرف النص بين بعضها strrev 622 | ```php 623 | عكس_النص( $النص ); 624 | النتيجة: نص 625 | ``` 626 | 627 | - **موضع_النص()** - ايجاد موضع نص ضمن النص الأساسي mb_strpos 628 | ```php 629 | موضع_النص( $النص , $البحث [, $البداية] ); 630 | النتيجة: رقم 631 | ``` 632 | 633 | - **تبديل_لكبير()** - تحويل النص إلى أحرف كبيرة strtoupper 634 | ```php 635 | تبديل_لكبير( $النص ); 636 | النتيجة: نص 637 | ``` 638 | 639 | - **تبديل_لصغير()** - تحويل النص إلى أحرف صغيرة strtolower 640 | ```php 641 | تبديل_لصغير( $النص ); 642 | النتيجة: نص 643 | ``` 644 | 645 | - **عدد_المطابقات()** - إيجاد عدد المطابقات ضمن النص substr_count 646 | ```php 647 | عدد_المطابقات( $النص , المطابقة [, $البداية ][, $مجال_البحث] ); 648 | النتيجة: رقم 649 | ``` 650 | 651 | - **إضافة_نص_كل()** - إضافة نص إلى النص كل عدد أحرف معين wordwrap 652 | ```php 653 | إضافة_نص_كل( $النص , $الحجم = 75 , $بداية_السطر = "\n" ); 654 | النتيجة: نص 655 | ``` 656 | 657 | - **الكود_إلى_نص()** - طباعة النص مع تجاهل HTML htmlspecialchars 658 | ```php 659 | الكود_إلى_نص( $النص ); 660 | النتيجة: نص 661 | ``` 662 | 663 | ### عمليات الأرقام 664 | 665 | - **جلب_الرقم_الإيجابي()** - جلب الرقم الايجابي من الرقم المعطى abs 666 | ```php 667 | جلب_الرقم_الإيجابي( $الرقم ); 668 | النتيجة: رقم 669 | ``` 670 | 671 | - **تقريب_لأعلى()** - تقريب الرقم للعدد الأعلى ceil 672 | ```php 673 | تقريب_لأعلى( $الرقم ); 674 | النتيجة: رقم 675 | ``` 676 | 677 | - **تقريب_لأسفل()** - تقريب الرقم للعدد الأدنى floor 678 | ```php 679 | تقريب_لأسفل( $الرقم ); 680 | النتيجة: رقم 681 | ``` 682 | 683 | - **تقريب_إلى_فواصل()** - تقريب إلى عدد محدد من الفواصل round 684 | ```php 685 | تقريب_إلى_فواصل( $الرقم , $الفواصل = 0 ); 686 | النتيجة: رقم 687 | ``` 688 | 689 | - **هل_الرقم_محدود()** - إذا كان الرقم محدود is_finite 690 | ```php 691 | هل_الرقم_محدود( $الرقم ); 692 | النتيجة: true أو false 693 | ``` 694 | 695 | - **هل_الرقم_غير_محدود()** - إذا كان الرقم غير محدود is_infinite 696 | ```php 697 | هل_الرقم_غير_محدود( $الرقم ); 698 | النتيجة: true أو false 699 | ``` 700 | 701 | - **هل_المتغير_غير_رقمي()** - إذا كان المتغير غير رقمي is_nan 702 | ```php 703 | هل_المتغير_غير_رقمي( $المتغير ); 704 | النتيجة: true أو false 705 | ``` 706 | 707 | - **جلب_الأعلى()** - جلب الرقم الأقل من ضمن مجموعة أرقام max 708 | ```php 709 | جلب_الأعلى( [ الرقم1 , الرقم2 [, الرقم3] -. ] ); 710 | جلب_الأعلى( الرقم1 , الرقم2 [, الرقم3] -. ); 711 | النتيجة: رقم 712 | ``` 713 | 714 | - **جلب_الأقل()** - جلب الرقم الأقل من ضمن مجموعة أرقام min 715 | ```php 716 | جلب_الأعلى( [ الرقم1 , الرقم2 [, الرقم3] -. ] ); 717 | جلب_الأعلى( الرقم1 , الرقم2 [, الرقم3] -. ) 718 | النتيجة: رقم 719 | ``` 720 | 721 | - **توليد_رقم_بين()** - توليد رقم بين رقمين mt_rand 722 | ```php 723 | توليد_رقم_بين( الرقم_الأقل , الرقم_الأعلى ); 724 | النتيجة: رقم 725 | ``` 726 | 727 | ### عمليات الجلسات و الكوكيز 728 | 729 | $_COOKIE , $_SESSION 730 | 731 | - **هل_الكوكيز_مضاف()** - إذا كان الكوكيز المطلوب قد تم إدخاله 732 | ```php 733 | هل_الكوكيز_مضاف( $الاسم ); 734 | النتيجة: true أو false 735 | ``` 736 | 737 | - **جلب_الكوكيز()** - جلب قيمة الكوكيز 738 | ```php 739 | جلب_الكوكيز( $الاسم ); 740 | النتيجة: نص 741 | ``` 742 | 743 | - **تعديل_الكوكيز()** - تعديل قيمة الكوكيز 744 | ```php 745 | تعديل_الكوكيز( $الاسم , $القيمة , $المدة = 86400 746 | ``` 747 | 748 | - **حذف_الكوكيز()** - حذف الكوكيز واحدة أو الكل 749 | ```php 750 | حذف_الكوكيز( [$الاسم] ); 751 | حذف واحدة أو الكل 752 | ``` 753 | 754 | - **تفعيل_الجلسات()** - قبل استخدام الجلسات يجب تشغيل العملية هذه session_start(); 755 | ```php 756 | تفعيل_الجلسات(); 757 | ``` 758 | 759 | - **هل_الجلسة_مضافة()** - إذا كانت الجلسة تم إضافتها 760 | ```php 761 | هل_الجلسة_مضافة( $الاسم ); 762 | النتيجة: true أو false 763 | ``` 764 | 765 | - **جلب_الجلسة()** - جلب قيمة الجلسة 766 | ```php 767 | جلب_الجلسة( $الاسم ); 768 | النتيجة: نص 769 | ``` 770 | 771 | - **تعديل_الجلسة()** - تعديل قيمة الجلسة 772 | ```php 773 | تعديل_الجلسة( $الاسم , $القيمة ); 774 | ``` 775 | 776 | - **حذف_الجلسات()** - حذف الجلسات واحدة أو الكل 777 | ```php 778 | حذف_الجلسات( [$الاسم] ); 779 | حذف واحدة أو الكل 780 | ``` 781 | 782 | ### عمليات بوست و جيت و فايل 783 | 784 | $_POST , $_GET , $_FILES 785 | 786 | - **هل_متغير_بوست_معرف()** - إذا كان هناك بيانات بوست تم استلامها واحدة أو الكل 787 | ```php 788 | هل_متغير_بوست_معرف( [$الاسم] ); 789 | النتيجة: true أو false 790 | ``` 791 | 792 | - **جلب_بوست()** - جلب قيمة متغير بوست واحد أو الكل 793 | ```php 794 | جلب_بوست( [$الاسم] ); 795 | النتيجة: نص أو مصفوفة 796 | ``` 797 | 798 | - **هل_متغير_جيت_معرف()** - إذا كان هناك بيانات جيت تم استلامها واحدة أو الكل 799 | ```php 800 | هل_متغير_جيت_معرف( [$الاسم] ); 801 | النتيجة: true أو false 802 | ``` 803 | 804 | - **جلب_جيت()** - جلب قيمة متغير جيت واحد أو الكل 805 | ```php 806 | جلب_جيت( [$الاسم] ); 807 | النتيجة: نص أو مصفوفة 808 | ``` 809 | 810 | - **هل_متغير_المرفق_معرف()** - إذا كان هناك ملفات تم استلامها واحدة أو الكل 811 | ```php 812 | هل_متغير_المرفق_معرف( [$الاسم] ); 813 | النتيجة: true أو false 814 | ``` 815 | 816 | - **جلب_المرفق()** - جلب بيانات المرفقات واحد أو الكل 817 | ```php 818 | جلب_المرفق( [$الاسم] ); 819 | النتيجة: مصفوفة 820 | ``` 821 | 822 | - **جلب_اسم_المرفق()** - جلب الاسم الحقيقي للمرفق 823 | ```php 824 | جلب_اسم_المرفق( $الاسم ); 825 | النتيجة: نص 826 | ``` 827 | 828 | - **جلب_الاسم_المؤقت_للمرفق()** - جلب الاسم المؤقت للمرفق 829 | ```php 830 | جلب_الاسم_المؤقت_للمرفق( $الاسم ); 831 | النتيجة: نص 832 | ``` 833 | 834 | - **جلب_حجم_المرفق()** - جلب حجم المرفق 835 | ```php 836 | جلب_حجم_المرفق( $الاسم ); 837 | النتيجة: رقم 838 | ``` 839 | 840 | - **جلب_نوع_المرفق()** - جلب نوع المرفق 841 | ```php 842 | جلب_نوع_المرفق( $الاسم ); 843 | النتيجة: نص 844 | ``` 845 | 846 | ### عمليات الملفات 847 | 848 | - **جلب_محتويات_ملف()** - جلب محتويات ملف من السيرفر أو موقع آخر file_get_contents 849 | ```php 850 | جلب_محتويات_ملف( $الرابط ); 851 | النتيجة: نص 852 | ``` 853 | 854 | - **حذف_ملف()** - حذف ملف من السيرفر unlink 855 | ```php 856 | حذف_ملف( $الاسم ); 857 | النتيجة: true أو false 858 | ``` 859 | 860 | - **إعادة_تسمية_ملف()** - إعادة تسمية ملف على السيرفر rename 861 | ```php 862 | إعادة_تسمية_ملف( $الملف , $الاسم_الجديد ); 863 | النتيجة: true أو false 864 | ``` 865 | 866 | - **معلومات_الرابط()** - معلومات الرابط pathinfo 867 | ```php 868 | معلومات_الرابط( $الرابط ); 869 | النتيجة: نص 870 | ``` 871 | 872 | - **إنشاء_مجلد()** - إنشاء مجلد على السيرفر mkdir 873 | ```php 874 | إنشاء_مجلد( $الاسم ); 875 | النتيجة: true أو false 876 | ``` 877 | 878 | - **هل_الرابط_مجلد()** - هل الرابط مجلد is_dir 879 | ```php 880 | هل_الرابط_مجلد( $الرابط ); 881 | النتيجة: true أو false 882 | ``` 883 | 884 | - **نسخ_ملف()** - نسخ ملف copy 885 | ```php 886 | نسخ_ملف( $الملف_الأساس , $الملف_الوجهة ); 887 | النتيجة: true أو false 888 | ``` 889 | 890 | - **جلب_رابط_المجلد()** - جلب رايط المجلد dirname 891 | ```php 892 | جلب_رابط_المجلد( $الرابط ); 893 | النتيجة: نص 894 | ``` 895 | 896 | - **جلب_اسم_الملف()** - جلب اسم الملف basename 897 | ```php 898 | جلب_اسم_الملف( $الرابط [, $اللاحقة] ); 899 | النتيجة: نص 900 | ``` 901 | 902 | - **هل_الملف_موجود()** - إذا كان الملف موجود file_exists 903 | ```php 904 | هل_الملف_موجود( $الرابط ); 905 | النتيجة: true أو false 906 | ``` 907 | 908 | - **قراءة_ملف()** - قراءة محتويات ملف من السيرفر 909 | ```php 910 | قراءة_ملف( $الرابط ); 911 | النتيجة: نص 912 | ``` 913 | 914 | - **كتابة_ملف()** - كتابة نص إلى ملف على السيرفر 915 | ```php 916 | كتابة_ملف( $الرابط , $البيانات ); 917 | ``` 918 | 919 | - **رفع_ملف()** - رفع ملف إلى السيرفر move_uploaded_file 920 | ```php 921 | رفع_ملف( $الاسم , $الوجهة ); 922 | $الاسم: الاسم المؤقت للملف جلب_الاسم_المؤقت_للمرفق() 923 | $الوجهة: رابط الملف الجديد مع اللاحقة 924 | النتيجة: true أو false 925 | ``` 926 | 927 | ### عمليات قواعد البيانات 928 | 929 | Mysql 930 | 931 | - **إنشاء_اتصال()** - إنشاء اتصال mysql جديد 932 | ```php 933 | إنشاء_اتصال( $المضيف , $اسم_المستخدم , $كلمة_المرور , $قاعدة_البيانات ); 934 | النتيجة: الاتصال 935 | ``` 936 | 937 | - **آخر_مدخل()** - جلب معرف آخر صف تم إدخاله في قاعدة البيانات insert_id 938 | ```php 939 | آخر_مدخل( $الاتصال ); 940 | النتيجة: رقم 941 | ``` 942 | 943 | - **طلب_قاعدة_بيانات()** - إدخال ، تعديل ، حذف أو جلب بيانات من قاعدة البيانات 944 | ```php 945 | طلب_قاعدة_بيانات( $الاتصال , $الطلب , $تحديث_أو_حذف_أو_إدخال = خاطئ ); 946 | النتيجة: نص , true أو false 947 | ``` 948 | 949 | يمكن كتابة الطلب باللغة العربية داخل أو خارج القالب 950 | 951 | **مثال - إنشاء الاتصال** 952 | ```php 953 | $الاتصال = إنشاء_اتصال( "localhost" , "root" , "" , "testdb" ); 954 | النتيجة: الاتصال 955 | ``` 956 | 957 | **مثال - حذف** 958 | ```php 959 | $الحذف = طلب_قاعدة_بيانات( $الاتصال , "ع.حذف ع.من table ع.عندما_يكون id=1" , صحيح ); 960 | النتيجة: true أو false 961 | ``` 962 | 963 | **مثال - تعديل** 964 | ```php 965 | $التعديل = طلب_قاعدة_بيانات( $الاتصال , "ع.تحديث table ع.إعداد name='عبدالستار'،age='29' ع.عندما_يكون id=1" , صحيح ); 966 | النتيجة: true أو false 967 | ``` 968 | 969 | **مثال - إدخال** 970 | ```php 971 | $الإدخال = طلب_قاعدة_بيانات( $الاتصال , "ع.إدخال table (name،age،mail) ع.القيم('عبدالستار'،29،'AboAlimk@gmail.com')" , صحيح ); 972 | النتيجة: true أو false 973 | ``` 974 | 975 | **مثال - جلب** 976 | ```php 977 | $البيانات = طلب_قاعدة_بيانات( $الاتصال , "ع.جلب name،age،mail ع.من table ع.عندما_يكون id=1 ع.أو id=2 ع.الترتيب id ع.تصاعدي ع.حد 1" ); 978 | النتيجة: مصفوفة 979 | array( "عدد_الصفوف" => 5 , "الصفوف" => array()) 980 | ``` 981 | 982 | **مايمكن كتابته بالعربي ضمن طلب Mysql** 983 | ```php 984 | ، - , 985 | ع.جلب - select 986 | ع.من - from 987 | ع.عندما_يكون - where 988 | ع.حد - limit 989 | ع.العدد - count 990 | ع.حذف - delete 991 | ع.تحديث - update 992 | ع.الترتيب - order by 993 | ع.تصاعدي - asc 994 | ع.تنازلي - desc 995 | ع.أعلى - max 996 | ع.أقل - min 997 | ع.إدخال - insert into 998 | ع.القيم - values 999 | ع.إعداد - set 1000 | ع.و - and 1001 | ع.أو - or 1002 | ``` 1003 | 1004 | ويمكن استخدام كافة متغيرات Mysql الإفتراضية إذا احتجت لذلك 1005 | 1006 | ### مثال لاستخدام المكتبة عدة مرات في نفس الصفحة 1007 | 1008 | المثال يفترض أن الموقع يقوم بتحويل جميع الصفحات إلى index.php 1009 | 1010 | ملف .htacces 1011 | 1012 | ``` 1013 | 1014 | RewriteEngine On 1015 | RewriteRule ^index\.php$ - [L] 1016 | RewriteCond %{REQUEST_FILENAME} !-d 1017 | RewriteCond %{REQUEST_FILENAME} !-f 1018 | RewriteRule . /index.php [L] 1019 | 1020 | ``` 1021 | 1022 | ملف index.php 1023 | 1024 | ```php 1025 | تضمين("home.php"); 1037 | 1038 | } else if( $الطلب == "about" ) { 1039 | 1040 | $ع->تضمين("about.php"); 1041 | 1042 | } else if( $الطلب == "contact-us" ) { 1043 | 1044 | $ع->تضمين("contact-us.php"); 1045 | 1046 | } else { 1047 | 1048 | $ع->تضمين("error-404.php"); 1049 | 1050 | } 1051 | ``` 1052 | 1053 | 1054 | 1055 | 1056 | 1057 | 1058 | **المكتبة مفتوحة المصدر ويمكن للجميع تعديلها أو تطويرها** 1059 | 1060 |
--------------------------------------------------------------------------------