├── .idea ├── codeStyleSettings.xml ├── dictionaries │ └── eteplus.xml ├── encodings.xml ├── fileManager.iml ├── misc.xml ├── modules.xml ├── php.xml ├── scopes │ └── scope_settings.xml ├── vcs.xml ├── workspace(ETEPLUS-PC--eteplus--2014-11-26-08,11,16).xml ├── workspace(ETEPLUS-PC--eteplus--2014-11-26-11,51,26).xml └── workspace.xml ├── .project ├── README.md ├── css ├── cikonss.css └── jquery-ui.css ├── file ├── 1.txt ├── 11.html ├── 12.txt ├── 2_1e5fa2cf00.png ├── 3.html ├── applications_937022ca63.html ├── ban.png ├── common.func_cca1614d38.php ├── copy.png ├── correct.png ├── d3 │ ├── 1.txt │ ├── 2.txt │ ├── 3.txt │ ├── eee │ │ ├── 12.txt │ │ └── 2.txt │ └── index_cde0e8899f.php ├── d4 │ ├── 12.txt │ ├── 2.txt │ └── index.php ├── dd3 │ └── 12.txt ├── index.php └── monster_84a315594f.jpg ├── func ├── common.func.php ├── dir.func.php └── file.func.php ├── images ├── ban.png ├── copy.png ├── correct.png ├── cut.png ├── delete.png ├── download.png ├── edit.png ├── error.png ├── file_ico.png ├── folder_ico.png ├── rename.png └── show.png ├── index.php └── js ├── jquery-ui.js └── jquery.js /.idea/codeStyleSettings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /.idea/dictionaries/eteplus.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/fileManager.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/php.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /.idea/scopes/scope_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/workspace(ETEPLUS-PC--eteplus--2014-11-26-08,11,16).xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 14 | 15 | 16 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 1416960656364 55 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 89 | 92 | 93 | 94 | 96 | 97 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | -------------------------------------------------------------------------------- /.idea/workspace(ETEPLUS-PC--eteplus--2014-11-26-11,51,26).xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | 80 | 81 | 82 | 83 | 84 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | Blade files 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 136 | 137 | 138 | 139 | 142 | 143 | 146 | 147 | 148 | 149 | 152 | 153 | 156 | 157 | 160 | 161 | 162 | 163 | 166 | 167 | 170 | 171 | 174 | 175 | 176 | 177 | 180 | 181 | 184 | 185 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | false 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | C:\Users\eteplus\AppData\Roaming\Subversion 262 | 263 | 264 | 265 | 266 | 1416621172100 267 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 322 | 325 | 326 | 327 | 329 | 330 | 333 | 334 | 335 | 336 | 338 | 339 | 340 | 341 | 342 | 343 | 346 | 347 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | -------------------------------------------------------------------------------- /.idea/workspace.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 15 | 16 | 17 | 19 | 20 | 21 | 22 | 23 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 67 | 68 | 69 | 70 | 71 | 75 | 76 | 77 | 78 | 79 | 80 | 81 | 82 | 83 | 84 | 85 | Blade files 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 124 | 125 | 126 | 127 | 130 | 131 | 134 | 135 | 136 | 137 | 140 | 141 | 144 | 145 | 148 | 149 | 150 | 151 | 154 | 155 | 158 | 159 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | false 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | C:\Users\eteplus\AppData\Roaming\Subversion 236 | 237 | 238 | 239 | 240 | 1416621172100 241 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 296 | 299 | 300 | 301 | 303 | 304 | 307 | 308 | 309 | 310 | 312 | 313 | 314 | 315 | 316 | 317 | 320 | 321 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | 519 | 520 | 521 | 522 | 523 | 524 | 525 | 526 | 527 | 528 | 529 | 530 | 531 | 532 | 533 | 534 | 535 | 536 | 537 | 538 | 539 | 540 | 541 | 542 | 543 | 544 | 545 | 546 | 547 | 548 | 549 | 550 | 551 | 552 | 553 | 554 | 555 | 556 | 557 | 558 | 559 | 560 | 561 | 562 | 563 | 564 | 565 | 566 | 567 | 568 | 569 | 570 | 571 | 572 | 573 | 574 | 575 | 576 | 577 | 578 | 579 | 580 | 581 | 582 | 583 | 584 | 585 | 586 | 587 | 588 | 589 | 590 | 591 | 592 | 593 | 594 | 595 | 596 | 597 | 598 | 599 | 600 | 601 | 602 | 603 | 604 | 605 | 606 | 607 | 608 | 609 | 610 | 611 | 612 | 613 | 614 | 615 | 616 | 617 | 618 | 619 | 620 | 621 | 622 | 623 | 624 | 625 | 626 | 627 | 628 | 629 | 630 | 631 | 632 | 633 | 634 | 635 | 636 | 637 | 638 | 639 | 640 | 641 | 642 | 643 | 644 | 645 | 646 | 647 | 648 | 649 | 650 | 651 | 652 | 653 | 654 | 655 | 656 | 657 | 658 | 659 | 660 | 661 | 662 | 663 | 664 | 665 | 666 | 667 | 668 | 669 | 670 | 671 | 672 | 673 | 674 | 675 | 676 | 677 | 678 | 679 | 680 | 681 | 682 | 683 | 684 | 685 | 686 | 687 | 688 | 689 | 690 | 691 | 692 | 693 | 694 | 695 | 696 | 697 | 698 | 699 | 700 | 701 | 702 | 703 | 704 | 705 | 706 | 707 | 708 | 709 | 710 | 711 | 712 | 713 | 714 | 715 | 716 | 717 | 718 | 719 | 720 | 721 | 722 | 723 | 724 | 725 | 726 | 727 | 728 | 729 | 730 | 731 | 732 | 733 | 734 | 735 | 736 | 737 | 738 | 739 | 740 | 741 | 742 | 743 | 744 | 745 | 746 | 747 | 748 | 749 | 750 | 751 | 752 | 753 | 754 | 755 | 756 | 757 | 758 | 759 | 760 | 761 | 762 | 763 | 764 | 765 | 766 | 767 | 768 | 769 | 770 | 771 | 772 | 773 | 774 | 775 | 776 | 777 | 778 | 779 | 780 | 781 | 782 | 783 | 784 | 785 | 786 | 787 | 788 | 789 | 790 | 791 | 796 | 797 | 798 | 799 | 800 | 801 | 802 | 803 | -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | fileManager 4 | 5 | 6 | 7 | 8 | 9 | com.aptana.editor.php.aptanaPhpBuilder 10 | 11 | 12 | 13 | 14 | com.aptana.ide.core.unifiedBuilder 15 | 16 | 17 | 18 | 19 | 20 | com.aptana.projects.webnature 21 | com.aptana.editor.php.phpNature 22 | 23 | 24 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | fileManager (在线文件管理) 2 | ------------------------ 3 | ``index.php`` : _入口文件,文件展示主页面_ 4 | ``common.func.php`` : _公共功能模块_ 5 | ``file.func.php`` : _文件功能模块_ 6 | ``dir.func.php`` : _目录功能模块_ 7 | 8 | *(PHP函数学习笔记)* 9 | 10 | ```php 11 | bool date_default_timezone_set ('PRC') 12 | 设定用于所有日期时间函数的默认时区为PRC 13 | 14 | string file_get_contents (string $filename,FILE_USE_INCLUDE_PATH); 15 | 将整个文件读入到一个字符串中 16 | $filename : 要读取的文件的名称 17 | return : 成功时返回数据,失败时返回 FALSE 18 | 19 | int file_put_contents ( string $filename ,mixed $data) 20 | 将一个字符串写入文件中 21 | $filename : 要被写入数据的文件名 22 | $data : 要写入的数据。类型可以是 string,array 或者是 stream 资源 23 | return : 成功时返回写入到文件内数据的字节数,失败时返回 FALSE 24 | 25 | string date (string $format [, int $timestamp ]) 26 | 返回将整数 timestamp 按照给定的格式字串而产生的字符串,如果没有给出时间戳则使用本地当前时间。换句话说,timestamp 是可选的,默认值为 time()[当前系统时间]。 27 | $format = "Y-m-d H:i:s" ([具体请查官方文档](http://php.net/manual/zh/function.date.php)) 28 | 29 | bool is_readable ( string $filename ) 30 | 判断给定文件名是否存在并且可读 31 | $filename : 文件的路径 32 | return : 如果由 filename 指定的文件或目录存在并且可读则返回 TRUE,否则返回 FALSE 33 | 34 | bool is_writable ( string $filename ) 35 | 判断给定的文件名是否可写 36 | $filename : 要检查的文件名称 37 | return : 如果文件 filename 存在并且可写则返回 TRUE, 否则返回 FALSE 38 | 39 | bool is_executable ( string $filename ) 40 | 判断给定文件名是否可执行 41 | $filename : 文件的路径 42 | return : 如果文件存在且可执行则返回 TRUE,错误时返回 FALSE 43 | 44 | string filetype ( string $filename ) 45 | 返回文件的类型 46 | $filename : 文件的路径 47 | return : 可能的值有 fifo,char,dir,block,link,file 和 unknown , 如果出错则返回 FALSE 48 | (如果 stat 调用失败或者文件类型未知的话 filetype() 还会产生一个 E_NOTICE 消息) 49 | 50 | int filesize ( string $filename ) 51 | 取得指定文件的大小 52 | $filename : 文件的路径 53 | return : 返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误 54 | 55 | int filectime ( string $filename ) 56 | 取得文件的创建的时间 57 | $filename : 文件的路径 58 | return : 返回文件创建的时间, 或者在失败时返回 FALSE。 时间以 Unix 时间戳的方式返回 59 | 60 | int filemtime ( string $filename ) 61 | 取得文件上次修改的时间 62 | $filename : 文件的路径 63 | return : 返回文件上次被修改的时间, 或者在失败时返回 FALSE。时间以 Unix 时间戳的方式返回,可用于 date() 64 | 65 | int fileatime ( string $filename ) 66 | 取得文件上次访问的时间 67 | $filename : 文件的路径 68 | return : 返回文件上次被访问的时间, 或者在失败时返回 FALSE。时间以 Unix 时间戳的方式返回 69 | 70 | array explode ( string $delimiter , string $string) 71 | 此函数返回由字符串组成的数组,每个元素都是 string 的一个子串,它们被字符串 delimiter 作为边界点分割出来。 72 | $delimiter : 边界上的分隔字符 73 | $string : 输入的字符串 74 | return : 返回由字符串组成的数组,如果 delimiter 为空字符串(""),explode() 将返回 FALSE 75 | 76 | string strtolower ( string $str ) 77 | 将 string 中所有的字母字符转换为小写并返回 78 | $str : 输入的字符串 79 | return : 返回转换后的小谢字符串 80 | 81 | mixed end ( array &$array ) 82 | end() 将 array 的内部指针移动到最后一个单元并返回其值 83 | $array : 传递的数组 84 | return : 返回最后一个元素的值,或者如果是空数组则返回 FALSE 85 | 86 | bool in_array ( mixed $needle , array $haystack [, bool $strict = FALSE ] ) 87 | 在 haystack 中搜索 needle,如果没有设置 strict 则使用宽松的比较(检查数组中是否存在某个值) 88 | $needle : 待搜索的值 89 | $haystack : 需要查找的数组 90 | $strict : 如果第三个参数 strict 的值为 TRUE 则 in_array() 函数还会检查 needle 的类型是否和 haystack 中的相同 91 | return : 如果找到 needle 则返回 TRUE,否则返回 FALSE 92 | 93 | string basename ( string $path [, string $suffix ] ) 94 | 返回路径中的文件名部分 95 | $path : 文件路径 96 | $suffix : 如果文件名是以suffix结束的,那这一部分也会被去掉 97 | return : 返回 $path 的基本的文件名 98 | 99 | string dirname ( string $path ) 100 | 返回路径中的目录部分 101 | $path : 文件路径 102 | return : 返回 path 的父目录。 如果在 path 中没有斜线,则返回一个点('.'),表示当前目录 103 | 104 | mixed highlight_file ( string $filename [, bool $return = false ] ) 105 | 使用PHP内置的语法高亮器所定义的颜色,打印输出或者返回 filename 文件中语法高亮版本的代码 106 | $filename : 欲高亮文件的路径 107 | $return : 设置该参数为 TRUE 使函数返回高亮后的代码 108 | return : 如果 return 设置为 TRUE,高亮后的代码不会被打印输出而是以字符串的形式返回。 高亮成功返回 TRUE,否则返回 FALSE 109 | 110 | mixed pathinfo ( string $path [, int $options = PATHINFO_DIRNAME | PATHINFO_BASENAME | PATHINFO_EXTENSION | PATHINFO_FILENAME ] ) 111 | 返回文件路径的信息 112 | $path : 文件路径 113 | $options : 如果没有指定 options 默认是返回全部的单元 114 | return : 如果没有传入 options ,将会返回包括以下单元的数组 array:dirname,basename 和 extension(如果有),以 及filename 115 | 116 | mixed microtime ([ bool $get_as_float ] ) 117 | 返回当前 Unix 时间戳和微秒数 118 | 如果给出了 get_as_float 参数并且其值等价于 TRUE,microtime() 将返回一个浮点数 119 | 120 | string uniqid ([ string $prefix = "" [, bool $more_entropy = false ]] ) 121 | 获取一个带前缀、基于当前时间微秒数的唯一ID 122 | $prefix : prefix为空,则返回的字符串长度为13。more_entropy 为 TRUE,则返回的字符串长度为23 123 | $more_entropy : 如果设置为 TRUE,uniqid() 会在返回的字符串结尾增加额外的煽(使用combined linear congruential generator)。 使得唯一ID更具唯一性。 124 | return : 返回字符串形式的唯一ID 125 | 126 | string md5 ( string $str [, bool $raw_output = false ] ) 127 | 计算字符串的 MD5 散列值 128 | $str : 原始的字符串 129 | $raw_output : 如果可选的raw_output被设置为 TRUE ,那么 MD5 报文摘要将以16字节长度的原始二进制格式返回 130 | return : 以 32 字符十六进制数字形式返回散列值 131 | 132 | string substr ( string $string , int $start [, int $length ] ) 133 | 返回字符串 string 由 start 和 length 参数指定的子字符串 134 | $string : 输入的字符串 135 | $start : 如果 start 是非负数,返回的字符串将从 string 的 start 位置开始,从 0 开始计算。例如,在字符串 “abcdef” 中,在位置 0 的字符是 “a”,位置 2 的字符串是 “c” 等等。 136 | 如果 start 是负数,返回的字符串将从 string 结尾处向前数第 start 个字符开始。 137 | 如果 string 的长度小于或等于 start,将返回 FALSE 138 | $length : 如果提供了正数的 length,返回的字符串将从 start 处开始最多包括 length 个字符(取决于 string 的长度)。 139 | 如果提供了负数的 length,那么 string 末尾处的许多字符将会被漏掉(若 start 是负数则从字符串尾部算起)。 140 | 如果 start 不在这段文本中,那么将返回一个空字符串。 141 | 如果提供了值为 0,FALSE 或 NULL 的 length,那么将返回一个空字符串。 142 | 如果没有提供 length,返回的子字符串将从 start 位置开始直到字符串结尾 143 | return : 返回提取的子字符串, 或者在失败时返回 FALSE 144 | 145 | float round ( float $val [, int $precision = 0 [, int $mode = PHP_ROUND_HALF_UP ]] ) 146 | 返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果。precision 也可以是负数或零(默认值) 147 | $val : 要处理的值 148 | $precision : 可选的十进制小数点后的数目 149 | $mode : PHP_ROUND_HALF_UP、 PHP_ROUND_HALF_DOWN PHP_ROUND_HALF_EVEN 或 PHP_ROUND_HALF_ODD 150 | return : 返回四舍五入后的值 151 | 152 | int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] ) 153 | 搜索subject与pattern给定的正则表达式的一个匹配 154 | $pattern : 要搜索的模式,字符串类型 155 | $subject : 输入字符串 156 | $matches : 如果提供了参数matches,它将被填充为搜索结果。 $matches[0]将包含完整模式匹配到的文本, $matches[1] 将包含第一个捕获子组匹配到的文本,以此类推 157 | $flags : PREG_OFFSET_CAPTURE 158 | 如果传递了这个标记,对于每一个出现的匹配返回时会附加字符串偏移量(相对于目标字符串的)。 注意:这会改变填充到matches参数的数组,使其每个元素成为一个由 第0个元素是匹配到的字符串,第1个元素是该匹配字符串 在目标字符串subject中的偏移量 159 | $offset : 通常,搜索从目标字符串的开始位置开始。可选参数 offset 用于 指定从目标字符串的某个未知开始搜索(单位是字节) 160 | return : 返回 pattern 的匹配次数。 它的值将是0次(不匹配)或1次,因为preg_match()在第一次匹配后 将会停止搜索。preg_match_all()不同于此,它会一直搜索subject 直到到达结尾。 如果发生错误preg_match()返回 FALSE 161 | 162 | bool file_exists ( string $filename ) 163 | 检查文件或目录是否存在 164 | $filename : 文件或目录的路径 165 | return : 存在则返回 TRUE ,否则返回 FALSE 166 | 167 | bool touch ( string $filename [, int $time = time() [, int $atime ]] ) 168 | 尝试将由 filename 给出的文件的访问和修改时间设定为给出的 time。 注意访问时间总是会被修改的,不论有几个参数 169 | (如果文件不存在,则创建) 170 | $filename : 要设定的文件名 171 | $time : 要设定的时间。如果没有提供参数 $time 则会使用当前系统时间 172 | $atime : 如果给出了这个参数,则给定文件的访问时间会被设为 $atime,否则会设置为 $time。 173 | 如果没有给出这两个参数,则使用当前系统时间 174 | return : 成功时返回 TRUE , 失败时返回 FALSE 175 | 176 | bool rename ( string $oldname , string $newname ) 177 | 重命名一个文件或目录, 尝试把 $oldname 重命名为 $newname 178 | $oldname : 旧的名字 179 | $newname : 新的名字 180 | return : 成功时返回 TRUE , 失败时返回 FALSE 181 | 182 | bool unlink ( string $filename ) 183 | 删除文件 184 | $filename : 文件的路径 185 | return : 成功时返回 TRUE , 失败时返回 FALSE 186 | 187 | bool copy ( string $source , string $dest ) 188 | 拷贝文件, 将文件从 $source 拷贝到 $dest 189 | $source : 源文件的路径 190 | $dest : 目标路径, 如果 $dest 是一个 URL,则如果封装协议不支持覆盖已有的文件时拷贝操作会失败 191 | return : 成功时返回 TRUE , 失败时返回 FALSE 192 | 193 | bool is_uploaded_file ( string $filename ) 194 | 判断文件是否是通过 HTTP POST 上传的 195 | 为了能使 is_uploaded_file() 函数正常工作,必段指定类似于 $_FILES['userfile']['tmp_name'] 的变量,而在从客户端上传的文件名 $_FILES['userfile']['name'] 不能正常运作 196 | $filename : 要检查的文件名 197 | return : 成功时返回 TRUE , 失败时返回 FALSE 198 | 199 | bool move_uploaded_file ( string $filename , string $destination ) 200 | 将上传的文件移动到新位置 201 | 本函数检查并确保由 $filename 指定的文件是合法的上传文件(即通过 PHP 的 HTTP POST 上传机制所上传的)。如果文件合法,则将其移动为由 $destination 指定的文件 202 | $filename : 上传的文件的文件名 203 | $destination : 移动文件到这个位置 204 | return : 成功时返回 TRUE。 205 | 如果 filename 不是合法的上传文件,不会出现任何操作,move_uploaded_file() 将返回 FALSE。 206 | 如果 filename 是合法的上传文件,但出于某些原因无法移动,不会出现任何操作,move_uploaded_file() 将返回 FALSE。此外还会发出一条警告 207 | 208 | resource opendir ( string $path ) 209 | 打开目录句柄 210 | $path : 要打开的目录的路径 211 | return : 如果成功则返回目录句柄的 resource,失败则返回 FALSE 212 | 如果 path 不是一个合法的目录或者因为权限限制或文件系统错误而不能打开目录,opendir() 返回 FALSE 并产生一个 E_WARNING 级别的 PHP 错误信息。可以在 opendir() 前面加上“@”符号来抑制错误信息的输出 213 | 214 | void closedir ( resource $dir_handle ) 215 | 关闭目录句柄 216 | $dir_handle : 目录句柄的 resource,之前由 opendir() 打开 217 | 218 | string readdir ([ resource $dir_handle ] ) 219 | 从目录句柄中读取条目 (返回目录中下一个文件的文件名。文件名以在文件系统中的排序返回) 220 | $dir_handle : 目录句柄的 resource,之前由 opendir() 打开 221 | return : 成功则返回文件名 或者在失败时返回 FALSE 222 | 223 | bool is_file ( string $filename ) 224 | 判断给定文件名是否为一个正常的文件 225 | $filename : 文件的路径 226 | return : 如果文件存在且为正常的文件则返回 TRUE,否则返回 FALSE 227 | 228 | bool is_dir ( string $filename ) 229 | 判断给定文件名是否是一个目录 230 | $filename : 文件的路径, 如果文件名存在并且为目录则返回 TRUE。如果 $filename 是一个相对路径,则按照当前工作目录检查其相对路径 231 | return : 如果文件名存在,并且是个目录,返回 TRUE,否则返回 FALSE 232 | 233 | bool mkdir ( string $pathname [, int $mode = 0777 [, bool $recursive = false ] ) 234 | 尝试新建一个由 $pathname 指定的目录 235 | $pathname : 目录的路径 236 | $mode : 默认的 mode 是 0777,意味着最大可能的访问权,设置目录的权限 237 | $rescursive : 是否嵌套创建目录 238 | return : 成功时返回 TRUE, 失败时返回 FALSE 239 | 240 | ----------------------------------------------- 241 | 242 | Heredoc技术(常用在输出包含大量HTML语法文档的时候) 243 | 以<< 248 | 249 | 250 | 251 | 252 | 253 | EOF; 254 | echo $str; 255 | ``` 256 | 257 | 258 | -------------------------------------------------------------------------------- /css/cikonss.css: -------------------------------------------------------------------------------- 1 | /* 2 | * Cikonss v1.0 3 | * 4 | * URL: https://github.com/zzap/Cikonss 5 | * License: MIT License 6 | * 7 | */ 8 | 9 | /* Generals */ 10 | .icon { 11 | /* don't change width and height in order to change the size of the icon, 12 | you can control the size with font-size for different class(es) - below */ 13 | line-height: 100%; 14 | width: 1em; 15 | height: 1em; 16 | position: relative; 17 | display: block; 18 | float: left; 19 | } 20 | /* Button like icons */ 21 | .icon-square, 22 | .icon-rounded { 23 | border: .75em solid rgb(242, 242, 242); /* #f2f2f2 */ 24 | background-color: rgb(242, 242, 242); /* #f2f2f2 */ 25 | margin: 0 .5em .5em 0; 26 | /* for browsers that supports */ 27 | -webkit-box-shadow: 0 0 0 .0625em rgb(226, 226, 226); /* #e2e2e2 */ 28 | -moz-box-shadow: 0 0 0 .0625em rgb(226, 226, 226); /* #e2e2e2 */ 29 | box-shadow: 0 0 0 .0625em rgb(226, 226, 226); /* #e2e2e2 */ 30 | } 31 | .icon-rounded { 32 | border-radius: 1.5em; 33 | } 34 | /* 35 | * Sizes 36 | * 37 | * 5 preset sizes, simply change the font-size or add your custom class. 38 | * 39 | */ 40 | .icon-small { 41 | font-size: 1em; 42 | } 43 | .icon-mid { 44 | font-size: 2em; 45 | } 46 | .icon-large { 47 | font-size: 4em; 48 | } 49 | .icon-extra-large { 50 | font-size: 8em; 51 | } 52 | .icon-huge { 53 | font-size: 12em; 54 | } 55 | 56 | /* 57 | * Icons 58 | * 59 | * Icons are somewhat grouped so that you can easily pick the ones you like 60 | * if the whole file is too large for your project. 61 | * 62 | */ 63 | 64 | /* Home */ 65 | .icon-home { 66 | position: absolute; 67 | top: 0; 68 | left: .125em; 69 | width: .25em; 70 | height: .5em; 71 | background-color: rgb(102, 102, 102); /* #666 */ 72 | } 73 | .icon-home:before, 74 | .icon-home:after { 75 | content: ""; 76 | position: absolute; 77 | border-style: solid; 78 | } 79 | .icon-home:before { 80 | top: .5em; 81 | left: 0; 82 | width: .25em; 83 | height: .3125em; 84 | border-width: .1875em .25em 0 .25em; 85 | border-color: rgb(102, 102, 102); /* #666 */ 86 | } 87 | .icon-home:after { 88 | top: -.5em; 89 | left: -.125em; 90 | width: 0; 91 | height: 0; 92 | border-width: .5em; 93 | border-color: transparent transparent rgb(102, 102, 102) transparent; /* #666 */ 94 | } 95 | 96 | /* Arrows */ 97 | .icon-arrowRight, 98 | .icon-arrowLeft, 99 | .icon-arrowDown, 100 | .icon-arrowUp { 101 | position: absolute; 102 | width: .5em; 103 | height: .5em; 104 | background-color: rgb(102, 102, 102); /* #666 */ 105 | } 106 | .icon-arrowRight:after, 107 | .icon-arrowLeft:after, 108 | .icon-arrowDown:after, 109 | .icon-arrowUp:after { 110 | content: ""; 111 | position: absolute; 112 | width: 0; 113 | height: 0; 114 | border-width: .5em; 115 | border-style: solid; 116 | } 117 | /* Arrows - Left and Right */ 118 | .icon-arrowRight, 119 | .icon-arrowLeft { 120 | top: .25em; 121 | } 122 | .icon-arrowRight { 123 | left: 0; 124 | } 125 | .icon-arrowLeft { 126 | right: 0; 127 | } 128 | .icon-arrowRight:after, 129 | .icon-arrowLeft:after { 130 | top: -.25em; 131 | } 132 | .icon-arrowRight:after { 133 | left: .5em; 134 | border-color: transparent transparent transparent rgb(102, 102, 102); /* #666 */ 135 | } 136 | .icon-arrowLeft:after { 137 | right: .5em; 138 | border-color: transparent rgb(102, 102, 102) transparent transparent; /* #666 */ 139 | } 140 | /* Arrows - Down and Up */ 141 | .icon-arrowDown, 142 | .icon-arrowUp { 143 | left: .25em; 144 | } 145 | .icon-arrowDown { 146 | top: 0; 147 | } 148 | .icon-arrowUp, 149 | .icon-arrowDown:after { 150 | top: .5em; 151 | } 152 | .icon-arrowDown:after, 153 | .icon-arrowUp:after { 154 | left: -.25em; 155 | } 156 | .icon-arrowDown:after { 157 | border-color: rgb(102, 102, 102) transparent transparent transparent; /* #666 */ 158 | } 159 | .icon-arrowUp:after { 160 | top: -1em; 161 | border-color: transparent transparent rgb(102, 102, 102) transparent; /* #666 */ 162 | } 163 | 164 | /* Comments */ 165 | .icon-comment, 166 | .icon-comment-text { 167 | position: absolute; 168 | top: 0; 169 | left: 0; 170 | width: 1em; 171 | height: .75em; 172 | background-color: rgb(102, 102, 102); /* #666 */ 173 | /* for browsers that supports */ 174 | border-radius: .125em; 175 | } 176 | .icon-comment:after, 177 | .icon-comment-text:before, 178 | .icon-comment-text:after { 179 | content: ""; 180 | position: absolute; 181 | border-style: solid; 182 | } 183 | .icon-comment-text:before { 184 | top: .1875em; 185 | left: .125em; 186 | width: .75em; 187 | height: .125em; 188 | border-width: .09375em 0; 189 | border-color: rgb(249, 249, 249); /* #f9f9f9 */ 190 | } 191 | .icon-comment:after, 192 | .icon-comment-text:after { 193 | top: .75em; 194 | left: .25em; 195 | width: 0; 196 | height: 0; 197 | border-width: .125em; 198 | border-color: rgb(102, 102, 102) transparent transparent rgb(102, 102, 102); /* #666 */ 199 | } 200 | 201 | /* Mail */ 202 | .icon-mail { 203 | position: absolute; 204 | top: .15625em; 205 | left: 0; 206 | width: 1em; 207 | height: .75em; 208 | background-color: rgb(102, 102, 102); /*#666*/ 209 | } 210 | .icon-mail:before, 211 | .icon-mail:after { 212 | content: ""; 213 | position: absolute; 214 | left: 0; 215 | width: 0; 216 | height: 0; 217 | border-width: .4em .5em; 218 | border-style: solid; 219 | } 220 | .icon-mail:before { 221 | top: 0; 222 | border-color: rgb(249, 249, 249) transparent transparent transparent; /* #f9f9f9 */ 223 | } 224 | .icon-mail:after { 225 | top: -.0625em; 226 | border-color: rgb(102, 102, 102) transparent transparent transparent; /* #666 */ 227 | } 228 | 229 | /* Calendar */ 230 | .icon-calendar{ 231 | position: absolute; 232 | top: .125em; 233 | left: 0; 234 | width: .875em; 235 | height: .6875em; 236 | border-width: .125em .0625em .0625em .0625em; 237 | border-style: solid; 238 | border-color: rgb(102, 102, 102); /* #666 */ 239 | background-color: rgb(249, 249, 249); /* #f9f9f9 */ 240 | /* for browsers that supports */ 241 | border-radius: .0625em; 242 | } 243 | .icon-calendar:before{ 244 | content: ""; 245 | position: absolute; 246 | top: -.25em; 247 | left: .125em; 248 | width: .375em; 249 | height: .125em; 250 | border-width: 0 .125em; 251 | border-style: solid; 252 | border-color: rgb(102, 102, 102); /* #666 */ 253 | } 254 | .icon-calendar:after{ 255 | content: "15"; 256 | position: absolute; 257 | top: -.25em; 258 | left: .25em; 259 | font-family: Arial, sans-serif; 260 | font-size: .5em; 261 | font-weight: bold; 262 | color: rgb(102, 102, 102); /* #666 */ 263 | } 264 | 265 | /* Plus */ 266 | .icon-plus, 267 | .icon-plus:after { 268 | position: absolute; 269 | width: .375em; 270 | height: .375em; 271 | border-style: solid; 272 | border-color: rgb(102, 102, 102); /* #666 */ 273 | } 274 | .icon-plus { 275 | top: 0; 276 | left: 0; 277 | border-width: 0 .25em .25em 0; 278 | } 279 | .icon-plus:after { 280 | content: ""; 281 | top: .375em; 282 | left: .375em; 283 | border-width: .25em 0 0 .25em; 284 | } 285 | 286 | /* Minus */ 287 | .icon-minus { 288 | position: absolute; 289 | top: .375em; 290 | left: 0; 291 | width: 1em; 292 | height: .25em; 293 | background-color: rgb(102, 102, 102); /* #666 */ 294 | } 295 | 296 | /* File */ 297 | .icon-file { 298 | position: absolute; 299 | top: 0; 300 | left: .125em; 301 | width: .5em; 302 | height: .75em; 303 | border-width: .125em; 304 | border-style: solid; 305 | border-color: rgb(102, 102, 102); /* #666 */ 306 | background-color: rgb(249, 249, 249); /* #f9f9f9 */ 307 | /* for browsers that supports */ 308 | border-radius: .0625em; 309 | } 310 | .icon-file:before { 311 | content: ""; 312 | position: absolute; 313 | top: -.125em; 314 | left: -.125em; 315 | width: 0; 316 | height: 0; 317 | border-width: .15625em; 318 | border-style: solid; 319 | border-color: rgb(255, 255, 255) rgb(102, 102, 102) rgb(102, 102, 102) rgb(255, 255, 255); /* #fff and #666 - #fff has to mach body bg*/ 320 | } 321 | .icon-square .icon-file:before, 322 | .icon-rounded .icon-file:before { 323 | border-color: rgb(242, 242, 242) rgb(102, 102, 102) rgb(102, 102, 102) rgb(242, 242, 242); /* #f2f2f2 and #666 - #f2f2f2 has to mach with .icon-square and .icon-rounded bg*/ 324 | } 325 | 326 | /* Folder */ 327 | .icon-folder { 328 | position: absolute; 329 | top: .125em; 330 | left: 0; 331 | width: 1em; 332 | height: .875em; 333 | background-color: rgb(102, 102, 102); /* #666 */ 334 | /* for browsers that supports */ 335 | border-bottom-left-radius: .0625em; 336 | border-bottom-right-radius: .0625em; 337 | } 338 | .icon-folder:before { 339 | content: ""; 340 | position: absolute; 341 | top: -.125em; 342 | left: .125em; 343 | width: .375em; 344 | height: .125em; 345 | background-color: rgb(102, 102, 102); /* #666 */ 346 | /* for browsers that supports */ 347 | border-top-left-radius: .0625em; 348 | border-top-right-radius: .0625em; 349 | } 350 | 351 | /* Tag */ 352 | .icon-tag { 353 | position: absolute; 354 | top: 0; 355 | left: .25em; 356 | width: .5em; 357 | height: .75em; 358 | background-color: rgb(102, 102, 102); /* #666 */ 359 | /* for browsers that supports */ 360 | border-top-left-radius: .0625em; 361 | border-top-right-radius: .0625em; 362 | } 363 | .icon-tag:before, 364 | .icon-tag:after { 365 | content: ""; 366 | position: absolute; 367 | top: .75em; 368 | width: 0; 369 | height: 0; 370 | border-width: .125em; 371 | border-style: solid; 372 | } 373 | .icon-tag:before { 374 | left: 0; 375 | border-color: rgb(102, 102, 102) transparent transparent rgb(102, 102, 102); /* #666 */ 376 | } 377 | .icon-tag:after { 378 | left: .25em; 379 | border-color: rgb(102, 102, 102) rgb(102, 102, 102) transparent transparent; /* #666 */ 380 | } 381 | 382 | /* Desktop */ 383 | .icon-desktop { 384 | position: absolute; 385 | top: 0; 386 | left: 0; 387 | width: .875em; 388 | height: .625em; 389 | border-width: .0625em; 390 | border-style: solid; 391 | border-color: rgb(102, 102, 102); /* #666 */ 392 | background-color: rgb(249, 249, 249); /* #f9f9f9 */ 393 | /* for browsers that supports */ 394 | border-radius: .0625em; 395 | } 396 | .icon-desktop:before, 397 | .icon-desktop:after { 398 | content: ""; 399 | position: absolute; 400 | background-color: rgb(102, 102, 102); /* #666 */ 401 | } 402 | .icon-desktop:before { 403 | top: .6875em; 404 | left: .3125em; 405 | width: .25em; 406 | height: .1875em; 407 | } 408 | .icon-desktop:after { 409 | top: .875em; 410 | left: .125em; 411 | width: .625em; 412 | height: .0625em; 413 | } 414 | 415 | /* Tablet */ 416 | .icon-tablet { 417 | position: absolute; 418 | top: .0625em; 419 | left: 0; 420 | width: .75em; 421 | height: .625em; 422 | border-width: .125em; 423 | border-style: solid; 424 | border-color: rgb(102, 102, 102); /* #666 */ 425 | background-color: rgb(249, 249, 249); /* #f9f9f9 */ 426 | /* for browsers that supports */ 427 | border-radius: .0625em; 428 | } 429 | .icon-tablet:before { 430 | content: ""; 431 | position: absolute; 432 | top: .28125em; 433 | left: -.09375em; 434 | width: .0625em; 435 | height: .0625em; 436 | background-color: rgb(255, 255, 255); /* #fff */ 437 | /* for browsers that supports */ 438 | border-radius: .0625em; 439 | } 440 | 441 | /* Phone */ 442 | .icon-phone { 443 | position: absolute; 444 | top: 0; 445 | left: .1875em; 446 | width: .5em; 447 | height: .75em; 448 | border-width: .125em .0625em; 449 | border-style: solid; 450 | border-color: rgb(102, 102, 102); /* #666 */ 451 | background-color: rgb(249, 249, 249); /* #f9f9f9 */ 452 | /* for browsers that supports */ 453 | border-radius: .0625em; 454 | } 455 | .icon-phone:after { 456 | content: ""; 457 | position: absolute; 458 | top: .78125em; 459 | left: .21875em; 460 | width: .0625em; 461 | height: .0625em; 462 | background-color: rgb(255, 255, 255); /* #fff */ 463 | /* for browsers that supports */ 464 | border-radius: .0625em; 465 | } 466 | 467 | /* Menu */ 468 | .icon-menu, 469 | .icon-menu:before, 470 | .icon-menu:after { 471 | position: absolute; 472 | left: 0; 473 | width: 1em; 474 | height: .25em; 475 | background-color: rgb(102, 102, 102); /* #666 */ 476 | } 477 | .icon-menu { 478 | top: .0625em; 479 | } 480 | .icon-menu:before { 481 | content: ""; 482 | top: .3125em; 483 | } 484 | .icon-menu:after { 485 | content: ""; 486 | top: .625em; 487 | } 488 | 489 | /* Download and Upload */ 490 | .icon-download, 491 | .icon-upload { 492 | position: absolute; 493 | left: .375em; 494 | width: .25em; 495 | height: .5em; 496 | background-color: rgb(102, 102, 102); /* #666 */ 497 | } 498 | .icon-download { 499 | top: 0; 500 | } 501 | .icon-upload { 502 | top: .25em; 503 | } 504 | .icon-download:before, 505 | .icon-upload:before { 506 | content: ""; 507 | position: absolute; 508 | left: -.125em; 509 | width: 0; 510 | height: 0; 511 | border-width: .25em; 512 | border-style: solid; 513 | } 514 | .icon-download:before { 515 | top: .5em; 516 | border-color: rgb(102, 102, 102) transparent transparent transparent; /* #666 */ 517 | } 518 | .icon-upload:before { 519 | top: -.5em; 520 | border-color: transparent transparent rgb(102, 102, 102) transparent; /* #666 */ 521 | } 522 | .icon-download:after, 523 | .icon-upload:after { 524 | content: ""; 525 | position: absolute; 526 | left: -.375em; 527 | width: .75em; 528 | height: .125em; 529 | border-width: 0 .125em .125em .125em; 530 | border-style: solid; 531 | border-color: rgb(102, 102, 102); /* #666 */ 532 | } 533 | .icon-download:after { 534 | top: .75em; 535 | } 536 | .icon-upload:after { 537 | top: .5em; 538 | } 539 | 540 | /* Page Templates */ 541 | .icon-tpl-full, 542 | .icon-tpl-side-r, 543 | .icon-tpl-side-l { 544 | position: absolute; 545 | top: 0; 546 | left: 0; 547 | width: 1em; 548 | height: .25em; 549 | background-color: rgb(102, 102, 102); 550 | } 551 | .icon-tpl-full:after, 552 | .icon-tpl-side-r:before, 553 | .icon-tpl-side-r:after, 554 | .icon-tpl-side-l:before, 555 | .icon-tpl-side-l:after { 556 | content: ""; 557 | position: absolute; 558 | top: .3125em; 559 | height: .6875em; 560 | background-color: rgb(102, 102, 102); 561 | } 562 | .icon-tpl-full:after, 563 | .icon-tpl-side-r:before, 564 | .icon-tpl-side-l:before { 565 | left: 0; 566 | } 567 | .icon-tpl-full:after { 568 | width: 1em; 569 | } 570 | .icon-tpl-side-r:before, 571 | .icon-tpl-side-l:after { 572 | width: .6875em; 573 | } 574 | .icon-tpl-side-r:after, 575 | .icon-tpl-side-l:before { 576 | width: .25em; 577 | } 578 | .icon-tpl-side-r:after { 579 | left: .75em; 580 | } 581 | .icon-tpl-side-l:after { 582 | left: .3125em; 583 | } 584 | 585 | /* Views */ 586 | /* List view */ 587 | .icon-list-view, 588 | .icon-list-view:before, 589 | .icon-list-view:after { 590 | position: absolute; 591 | width: .0625em; 592 | height: .25em; 593 | border-width: 0 .6875em 0 .25em; 594 | border-style: solid; 595 | border-color: rgb(102, 102, 102); 596 | } 597 | .icon-list-view { 598 | top: .0625em; 599 | left: 0; 600 | } 601 | .icon-list-view:before, 602 | .icon-list-view:after { 603 | content: ""; 604 | left: -.25em; 605 | } 606 | .icon-list-view:before { 607 | top: .3125em; 608 | } 609 | .icon-list-view:after { 610 | top: .625em; 611 | } 612 | /* Grid view */ 613 | .icon-grid-view, 614 | .icon-grid-view:before { 615 | position: absolute; 616 | width: .0625em; 617 | height: .46875em; 618 | border-width: 0 .46875em; 619 | border-style: solid; 620 | border-color: rgb(102, 102, 102); 621 | } 622 | .icon-grid-view { 623 | top: 0; 624 | left: 0; 625 | } 626 | .icon-grid-view:before { 627 | content: ""; 628 | top: .53125em; 629 | left: -.46875em; 630 | } 631 | 632 | /* Camera */ 633 | .icon-camera { 634 | position: absolute; 635 | top: .25em; 636 | left: 0; 637 | width: .75em; 638 | height: .5em; 639 | background-color: rgb(102, 102, 102); /* #666 */ 640 | } 641 | .icon-camera:after { 642 | content: ""; 643 | position: absolute; 644 | top: 0; 645 | left: .5em; 646 | width: 0; 647 | height: 0; 648 | border-width: .25em; 649 | border-style: solid; 650 | border-color: transparent rgb(102, 102, 102) transparent transparent; /* #666 */ 651 | } 652 | 653 | /* Image */ 654 | .icon-image { 655 | position: absolute; 656 | top: .125em; 657 | left: 0; 658 | width: .875em; 659 | height: .625em; 660 | border-width: .0625em; 661 | border-style: solid; 662 | border-color: rgb(102, 102, 102); /* #666 */ 663 | /* for browsers that supports */ 664 | border-radius: .0625em; 665 | } 666 | .icon-image:before, 667 | .icon-image:after { 668 | content: ""; 669 | position: absolute; 670 | bottom: 0; 671 | width: 0; 672 | height: 0; 673 | border-style: solid; 674 | border-color: transparent transparent rgb(102, 102, 102) transparent; /* #666 */ 675 | } 676 | .icon-image:before { 677 | left: 0; 678 | border-width: .25em .25em .125em .125em; 679 | } 680 | .icon-image:after { 681 | right: 0; 682 | border-width: .25em .25em .375em .375em; 683 | } 684 | 685 | /* Player controls */ 686 | /* Play */ 687 | .icon-play { 688 | position: absolute; 689 | top: 0; 690 | left: .1875em; 691 | width: 0; 692 | height: 0; 693 | border-width: .5em .625em; 694 | border-style: solid; 695 | border-color: transparent transparent transparent rgb(102, 102, 102); /* #666 */ 696 | } 697 | /* Stop */ 698 | .icon-stop { 699 | position: absolute; 700 | top: .0625em; 701 | left: .0625em; 702 | width: .875em; 703 | height: .875em; 704 | background-color: rgb(102, 102, 102); /* #666 */ 705 | } 706 | /* Pause */ 707 | .icon-pause, 708 | .icon-pause:after { 709 | position: absolute; 710 | width: .25em; 711 | height: .875em; 712 | background-color: rgb(102, 102, 102); /* #666 */ 713 | } 714 | .icon-pause { 715 | top: .0625em; 716 | left: .21875em; 717 | } 718 | .icon-pause:after { 719 | content: ""; 720 | top: 0; 721 | left: .3125em; 722 | } 723 | /* Forward, Next, Rewind and Prev */ 724 | .icon-forward, 725 | .icon-next, 726 | .icon-rewind, 727 | .icon-prev, 728 | .icon-forward:after, 729 | .icon-next:before, 730 | .icon-rewind:after, 731 | .icon-prev:before { 732 | position: absolute; 733 | width: 0; 734 | height: 0; 735 | border-width: .4375em; 736 | border-style: solid; 737 | } 738 | .icon-forward, 739 | .icon-next, 740 | .icon-rewind, 741 | .icon-prev { 742 | top: .0625em; 743 | } 744 | .icon-forward:after, 745 | .icon-next:before, 746 | .icon-rewind:after, 747 | .icon-prev:before, 748 | .icon-next:after, 749 | .icon-prev:after { 750 | content: ""; 751 | top: -.4375em; 752 | } 753 | .icon-forward, 754 | .icon-next, 755 | .icon-forward:after, 756 | .icon-next:before { 757 | border-color: transparent transparent transparent rgb(102, 102, 102); /* #666 */ 758 | } 759 | .icon-rewind, 760 | .icon-prev, 761 | .icon-rewind:after, 762 | .icon-prev:before { 763 | border-color: transparent rgb(102, 102, 102) transparent transparent; /* #666 */ 764 | } 765 | .icon-forward { 766 | left: .0625em; 767 | } 768 | .icon-rewind { 769 | right: .0625em; 770 | } 771 | .icon-next, 772 | .icon-forward:after, 773 | .icon-next:before { 774 | left: 0; 775 | } 776 | .icon-prev, 777 | .icon-rewind:after, 778 | .icon-prev:before { 779 | right: 0; 780 | } 781 | .icon-next:after, 782 | .icon-prev:after { 783 | position: absolute; 784 | width: .125em; 785 | height: .875em; 786 | background-color: rgb(102, 102, 102); /* #666 */ 787 | } 788 | .icon-next:after { 789 | left: .4375em; 790 | } 791 | .icon-prev:after { 792 | right: .4375em; 793 | } 794 | 795 | /* Stats */ 796 | .icon-stats, 797 | .icon-stats:before { 798 | position: absolute; 799 | width: .3125em; 800 | border-width: 0 .1875em; 801 | border-style: solid; 802 | border-color: rgb(102, 102, 102); /* #666 */ 803 | } 804 | .icon-stats { 805 | top: 0; 806 | left: 0; 807 | height: .875em; 808 | } 809 | .icon-stats:before { 810 | content: ""; 811 | top: .3125em; 812 | left: .0625em; 813 | height: .5625em; 814 | } 815 | .icon-stats:after { 816 | content: ""; 817 | position: absolute; 818 | top: .875em; 819 | left: -.1875em; 820 | width: 1em; 821 | height: .125em; 822 | background-color: rgb(102, 102, 102); /* #666 */ 823 | } 824 | 825 | /* Battery */ 826 | .icon-battery-empty, 827 | .icon-battery-1_4, 828 | .icon-battery-half, 829 | .icon-battery-3_4, 830 | .icon-battery-full { 831 | position: absolute; 832 | top: .25em; 833 | left: 0; 834 | width: .75em; 835 | height: .375em; 836 | border-width: .0625em; 837 | border-style: solid; 838 | border-color: rgb(102, 102, 102); /* #666 */ 839 | background-color: rgb(249, 249, 249); /* #f9f9f9 */ 840 | } 841 | .icon-battery-empty:after, 842 | .icon-battery-1_4:after, 843 | .icon-battery-half:after, 844 | .icon-battery-3_4:after, 845 | .icon-battery-full:after { 846 | content: ""; 847 | position: absolute; 848 | top: .0625em; 849 | left: .8125em; 850 | width: .125em; 851 | height: .25em; 852 | background-color: rgb(102, 102, 102); /* #666 */ 853 | } 854 | .icon-battery-1_4:before, 855 | .icon-battery-half:before, 856 | .icon-battery-3_4:before, 857 | .icon-battery-full:before { 858 | content: ""; 859 | position: absolute; 860 | top: 0; 861 | left: 0; 862 | height: .375em; 863 | background-color: rgb(153, 153, 153); /* #999 */ 864 | } 865 | .icon-battery-1_4:before { 866 | width: .1875em; 867 | } 868 | .icon-battery-half:before { 869 | width: .375em; 870 | } 871 | .icon-battery-3_4:before { 872 | width: .5625em; 873 | } 874 | .icon-battery-full:before { 875 | width: .75em; 876 | } 877 | 878 | /* Sound */ 879 | .icon-sound-mute, 880 | .icon-sound-normal, 881 | .icon-sound-loud { 882 | position: absolute; 883 | top: .375em; 884 | left: .09375em; 885 | width: .25em; 886 | height: .25em; 887 | background-color: rgb(102, 102, 102); 888 | } 889 | .icon-sound-mute:before, 890 | .icon-sound-normal:before, 891 | .icon-sound-loud:before { 892 | content: ""; 893 | position: absolute; 894 | top: -.3125em; 895 | left: -.3125em; 896 | width: .375em; 897 | height: .375em; 898 | border-width: .25em; 899 | border-style: solid; 900 | border-color: transparent rgb(102, 102, 102) transparent transparent; 901 | } 902 | .icon-sound-normal:after, 903 | .icon-sound-loud:after { 904 | content: ""; 905 | position: absolute; 906 | top: -.125em; 907 | left: .625em; 908 | width: .0625em; 909 | height: .53125em; 910 | border-style: solid; 911 | border-color: rgb(102, 102, 102); 912 | } 913 | .icon-sound-normal:after { 914 | border-width: 0 0 0 .0625em; 915 | } 916 | .icon-sound-loud:after { 917 | border-width: 0 .0625em; 918 | } 919 | -------------------------------------------------------------------------------- /css/jquery-ui.css: -------------------------------------------------------------------------------- 1 | /*! jQuery UI - v1.11.2 - 2014-10-16 2 | * http://jqueryui.com 3 | * Includes: core.css, accordion.css, autocomplete.css, button.css, datepicker.css, dialog.css, draggable.css, menu.css, progressbar.css, resizable.css, selectable.css, selectmenu.css, slider.css, sortable.css, spinner.css, tabs.css, tooltip.css, theme.css 4 | * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=4px&bgColorHeader=f6a828&bgTextureHeader=gloss_wave&bgImgOpacityHeader=35&borderColorHeader=e78f08&fcHeader=ffffff&iconColorHeader=ffffff&bgColorContent=eeeeee&bgTextureContent=highlight_soft&bgImgOpacityContent=100&borderColorContent=dddddd&fcContent=333333&iconColorContent=222222&bgColorDefault=f6f6f6&bgTextureDefault=glass&bgImgOpacityDefault=100&borderColorDefault=cccccc&fcDefault=1c94c4&iconColorDefault=ef8c08&bgColorHover=fdf5ce&bgTextureHover=glass&bgImgOpacityHover=100&borderColorHover=fbcb09&fcHover=c77405&iconColorHover=ef8c08&bgColorActive=ffffff&bgTextureActive=glass&bgImgOpacityActive=65&borderColorActive=fbd850&fcActive=eb8f00&iconColorActive=ef8c08&bgColorHighlight=ffe45c&bgTextureHighlight=highlight_soft&bgImgOpacityHighlight=75&borderColorHighlight=fed22f&fcHighlight=363636&iconColorHighlight=228ef1&bgColorError=b81900&bgTextureError=diagonals_thick&bgImgOpacityError=18&borderColorError=cd0a0a&fcError=ffffff&iconColorError=ffd27a&bgColorOverlay=666666&bgTextureOverlay=diagonals_thick&bgImgOpacityOverlay=20&opacityOverlay=50&bgColorShadow=000000&bgTextureShadow=flat&bgImgOpacityShadow=10&opacityShadow=20&thicknessShadow=5px&offsetTopShadow=-5px&offsetLeftShadow=-5px&cornerRadiusShadow=5px 5 | * Copyright 2014 jQuery Foundation and other contributors; Licensed MIT */ 6 | 7 | /* Layout helpers 8 | ----------------------------------*/ 9 | .ui-helper-hidden { 10 | display: none; 11 | } 12 | .ui-helper-hidden-accessible { 13 | border: 0; 14 | clip: rect(0 0 0 0); 15 | height: 1px; 16 | margin: -1px; 17 | overflow: hidden; 18 | padding: 0; 19 | position: absolute; 20 | width: 1px; 21 | } 22 | .ui-helper-reset { 23 | margin: 0; 24 | padding: 0; 25 | border: 0; 26 | outline: 0; 27 | line-height: 1.3; 28 | text-decoration: none; 29 | font-size: 100%; 30 | list-style: none; 31 | } 32 | .ui-helper-clearfix:before, 33 | .ui-helper-clearfix:after { 34 | content: ""; 35 | display: table; 36 | border-collapse: collapse; 37 | } 38 | .ui-helper-clearfix:after { 39 | clear: both; 40 | } 41 | .ui-helper-clearfix { 42 | min-height: 0; /* support: IE7 */ 43 | } 44 | .ui-helper-zfix { 45 | width: 100%; 46 | height: 100%; 47 | top: 0; 48 | left: 0; 49 | position: absolute; 50 | opacity: 0; 51 | filter:Alpha(Opacity=0); /* support: IE8 */ 52 | } 53 | 54 | .ui-front { 55 | z-index: 100; 56 | } 57 | 58 | 59 | /* Interaction Cues 60 | ----------------------------------*/ 61 | .ui-state-disabled { 62 | cursor: default !important; 63 | } 64 | 65 | 66 | /* Icons 67 | ----------------------------------*/ 68 | 69 | /* states and images */ 70 | .ui-icon { 71 | display: block; 72 | text-indent: -99999px; 73 | overflow: hidden; 74 | background-repeat: no-repeat; 75 | } 76 | 77 | 78 | /* Misc visuals 79 | ----------------------------------*/ 80 | 81 | /* Overlays */ 82 | .ui-widget-overlay { 83 | position: fixed; 84 | top: 0; 85 | left: 0; 86 | width: 100%; 87 | height: 100%; 88 | } 89 | .ui-accordion .ui-accordion-header { 90 | display: block; 91 | cursor: pointer; 92 | position: relative; 93 | margin: 2px 0 0 0; 94 | padding: .5em .5em .5em .7em; 95 | min-height: 0; /* support: IE7 */ 96 | font-size: 100%; 97 | } 98 | .ui-accordion .ui-accordion-icons { 99 | padding-left: 2.2em; 100 | } 101 | .ui-accordion .ui-accordion-icons .ui-accordion-icons { 102 | padding-left: 2.2em; 103 | } 104 | .ui-accordion .ui-accordion-header .ui-accordion-header-icon { 105 | position: absolute; 106 | left: .5em; 107 | top: 50%; 108 | margin-top: -8px; 109 | } 110 | .ui-accordion .ui-accordion-content { 111 | padding: 1em 2.2em; 112 | border-top: 0; 113 | overflow: auto; 114 | } 115 | .ui-autocomplete { 116 | position: absolute; 117 | top: 0; 118 | left: 0; 119 | cursor: default; 120 | } 121 | .ui-button { 122 | display: inline-block; 123 | position: relative; 124 | padding: 0; 125 | line-height: normal; 126 | margin-right: .1em; 127 | cursor: pointer; 128 | vertical-align: middle; 129 | text-align: center; 130 | overflow: visible; /* removes extra width in IE */ 131 | } 132 | .ui-button, 133 | .ui-button:link, 134 | .ui-button:visited, 135 | .ui-button:hover, 136 | .ui-button:active { 137 | text-decoration: none; 138 | } 139 | /* to make room for the icon, a width needs to be set here */ 140 | .ui-button-icon-only { 141 | width: 2.2em; 142 | } 143 | /* button elements seem to need a little more width */ 144 | button.ui-button-icon-only { 145 | width: 2.4em; 146 | } 147 | .ui-button-icons-only { 148 | width: 3.4em; 149 | } 150 | button.ui-button-icons-only { 151 | width: 3.7em; 152 | } 153 | 154 | /* button text element */ 155 | .ui-button .ui-button-text { 156 | display: block; 157 | line-height: normal; 158 | } 159 | .ui-button-text-only .ui-button-text { 160 | padding: .4em 1em; 161 | } 162 | .ui-button-icon-only .ui-button-text, 163 | .ui-button-icons-only .ui-button-text { 164 | padding: .4em; 165 | text-indent: -9999999px; 166 | } 167 | .ui-button-text-icon-primary .ui-button-text, 168 | .ui-button-text-icons .ui-button-text { 169 | padding: .4em 1em .4em 2.1em; 170 | } 171 | .ui-button-text-icon-secondary .ui-button-text, 172 | .ui-button-text-icons .ui-button-text { 173 | padding: .4em 2.1em .4em 1em; 174 | } 175 | .ui-button-text-icons .ui-button-text { 176 | padding-left: 2.1em; 177 | padding-right: 2.1em; 178 | } 179 | /* no icon support for input elements, provide padding by default */ 180 | input.ui-button { 181 | padding: .4em 1em; 182 | } 183 | 184 | /* button icon element(s) */ 185 | .ui-button-icon-only .ui-icon, 186 | .ui-button-text-icon-primary .ui-icon, 187 | .ui-button-text-icon-secondary .ui-icon, 188 | .ui-button-text-icons .ui-icon, 189 | .ui-button-icons-only .ui-icon { 190 | position: absolute; 191 | top: 50%; 192 | margin-top: -8px; 193 | } 194 | .ui-button-icon-only .ui-icon { 195 | left: 50%; 196 | margin-left: -8px; 197 | } 198 | .ui-button-text-icon-primary .ui-button-icon-primary, 199 | .ui-button-text-icons .ui-button-icon-primary, 200 | .ui-button-icons-only .ui-button-icon-primary { 201 | left: .5em; 202 | } 203 | .ui-button-text-icon-secondary .ui-button-icon-secondary, 204 | .ui-button-text-icons .ui-button-icon-secondary, 205 | .ui-button-icons-only .ui-button-icon-secondary { 206 | right: .5em; 207 | } 208 | 209 | /* button sets */ 210 | .ui-buttonset { 211 | margin-right: 7px; 212 | } 213 | .ui-buttonset .ui-button { 214 | margin-left: 0; 215 | margin-right: -.3em; 216 | } 217 | 218 | /* workarounds */ 219 | /* reset extra padding in Firefox, see h5bp.com/l */ 220 | input.ui-button::-moz-focus-inner, 221 | button.ui-button::-moz-focus-inner { 222 | border: 0; 223 | padding: 0; 224 | } 225 | .ui-datepicker { 226 | width: 17em; 227 | padding: .2em .2em 0; 228 | display: none; 229 | } 230 | .ui-datepicker .ui-datepicker-header { 231 | position: relative; 232 | padding: .2em 0; 233 | } 234 | .ui-datepicker .ui-datepicker-prev, 235 | .ui-datepicker .ui-datepicker-next { 236 | position: absolute; 237 | top: 2px; 238 | width: 1.8em; 239 | height: 1.8em; 240 | } 241 | .ui-datepicker .ui-datepicker-prev-hover, 242 | .ui-datepicker .ui-datepicker-next-hover { 243 | top: 1px; 244 | } 245 | .ui-datepicker .ui-datepicker-prev { 246 | left: 2px; 247 | } 248 | .ui-datepicker .ui-datepicker-next { 249 | right: 2px; 250 | } 251 | .ui-datepicker .ui-datepicker-prev-hover { 252 | left: 1px; 253 | } 254 | .ui-datepicker .ui-datepicker-next-hover { 255 | right: 1px; 256 | } 257 | .ui-datepicker .ui-datepicker-prev span, 258 | .ui-datepicker .ui-datepicker-next span { 259 | display: block; 260 | position: absolute; 261 | left: 50%; 262 | margin-left: -8px; 263 | top: 50%; 264 | margin-top: -8px; 265 | } 266 | .ui-datepicker .ui-datepicker-title { 267 | margin: 0 2.3em; 268 | line-height: 1.8em; 269 | text-align: center; 270 | } 271 | .ui-datepicker .ui-datepicker-title select { 272 | font-size: 1em; 273 | margin: 1px 0; 274 | } 275 | .ui-datepicker select.ui-datepicker-month, 276 | .ui-datepicker select.ui-datepicker-year { 277 | width: 45%; 278 | } 279 | .ui-datepicker table { 280 | width: 100%; 281 | font-size: .9em; 282 | border-collapse: collapse; 283 | margin: 0 0 .4em; 284 | } 285 | .ui-datepicker th { 286 | padding: .7em .3em; 287 | text-align: center; 288 | font-weight: bold; 289 | border: 0; 290 | } 291 | .ui-datepicker td { 292 | border: 0; 293 | padding: 1px; 294 | } 295 | .ui-datepicker td span, 296 | .ui-datepicker td a { 297 | display: block; 298 | padding: .2em; 299 | text-align: right; 300 | text-decoration: none; 301 | } 302 | .ui-datepicker .ui-datepicker-buttonpane { 303 | background-image: none; 304 | margin: .7em 0 0 0; 305 | padding: 0 .2em; 306 | border-left: 0; 307 | border-right: 0; 308 | border-bottom: 0; 309 | } 310 | .ui-datepicker .ui-datepicker-buttonpane button { 311 | float: right; 312 | margin: .5em .2em .4em; 313 | cursor: pointer; 314 | padding: .2em .6em .3em .6em; 315 | width: auto; 316 | overflow: visible; 317 | } 318 | .ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current { 319 | float: left; 320 | } 321 | 322 | /* with multiple calendars */ 323 | .ui-datepicker.ui-datepicker-multi { 324 | width: auto; 325 | } 326 | .ui-datepicker-multi .ui-datepicker-group { 327 | float: left; 328 | } 329 | .ui-datepicker-multi .ui-datepicker-group table { 330 | width: 95%; 331 | margin: 0 auto .4em; 332 | } 333 | .ui-datepicker-multi-2 .ui-datepicker-group { 334 | width: 50%; 335 | } 336 | .ui-datepicker-multi-3 .ui-datepicker-group { 337 | width: 33.3%; 338 | } 339 | .ui-datepicker-multi-4 .ui-datepicker-group { 340 | width: 25%; 341 | } 342 | .ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header, 343 | .ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header { 344 | border-left-width: 0; 345 | } 346 | .ui-datepicker-multi .ui-datepicker-buttonpane { 347 | clear: left; 348 | } 349 | .ui-datepicker-row-break { 350 | clear: both; 351 | width: 100%; 352 | font-size: 0; 353 | } 354 | 355 | /* RTL support */ 356 | .ui-datepicker-rtl { 357 | direction: rtl; 358 | } 359 | .ui-datepicker-rtl .ui-datepicker-prev { 360 | right: 2px; 361 | left: auto; 362 | } 363 | .ui-datepicker-rtl .ui-datepicker-next { 364 | left: 2px; 365 | right: auto; 366 | } 367 | .ui-datepicker-rtl .ui-datepicker-prev:hover { 368 | right: 1px; 369 | left: auto; 370 | } 371 | .ui-datepicker-rtl .ui-datepicker-next:hover { 372 | left: 1px; 373 | right: auto; 374 | } 375 | .ui-datepicker-rtl .ui-datepicker-buttonpane { 376 | clear: right; 377 | } 378 | .ui-datepicker-rtl .ui-datepicker-buttonpane button { 379 | float: left; 380 | } 381 | .ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current, 382 | .ui-datepicker-rtl .ui-datepicker-group { 383 | float: right; 384 | } 385 | .ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header, 386 | .ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header { 387 | border-right-width: 0; 388 | border-left-width: 1px; 389 | } 390 | .ui-dialog { 391 | overflow: hidden; 392 | position: absolute; 393 | top: 0; 394 | left: 0; 395 | padding: .2em; 396 | outline: 0; 397 | } 398 | .ui-dialog .ui-dialog-titlebar { 399 | padding: .4em 1em; 400 | position: relative; 401 | } 402 | .ui-dialog .ui-dialog-title { 403 | float: left; 404 | margin: .1em 0; 405 | white-space: nowrap; 406 | width: 90%; 407 | overflow: hidden; 408 | text-overflow: ellipsis; 409 | } 410 | .ui-dialog .ui-dialog-titlebar-close { 411 | position: absolute; 412 | right: .3em; 413 | top: 50%; 414 | width: 20px; 415 | margin: -10px 0 0 0; 416 | padding: 1px; 417 | height: 20px; 418 | } 419 | .ui-dialog .ui-dialog-content { 420 | position: relative; 421 | border: 0; 422 | padding: .5em 1em; 423 | background: none; 424 | overflow: auto; 425 | } 426 | .ui-dialog .ui-dialog-buttonpane { 427 | text-align: left; 428 | border-width: 1px 0 0 0; 429 | background-image: none; 430 | margin-top: .5em; 431 | padding: .3em 1em .5em .4em; 432 | } 433 | .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { 434 | float: right; 435 | } 436 | .ui-dialog .ui-dialog-buttonpane button { 437 | margin: .5em .4em .5em 0; 438 | cursor: pointer; 439 | } 440 | .ui-dialog .ui-resizable-se { 441 | width: 12px; 442 | height: 12px; 443 | right: -5px; 444 | bottom: -5px; 445 | background-position: 16px 16px; 446 | } 447 | .ui-draggable .ui-dialog-titlebar { 448 | cursor: move; 449 | } 450 | .ui-draggable-handle { 451 | -ms-touch-action: none; 452 | touch-action: none; 453 | } 454 | .ui-menu { 455 | list-style: none; 456 | padding: 0; 457 | margin: 0; 458 | display: block; 459 | outline: none; 460 | } 461 | .ui-menu .ui-menu { 462 | position: absolute; 463 | } 464 | .ui-menu .ui-menu-item { 465 | position: relative; 466 | margin: 0; 467 | padding: 3px 1em 3px .4em; 468 | cursor: pointer; 469 | min-height: 0; /* support: IE7 */ 470 | /* support: IE10, see #8844 */ 471 | list-style-image: url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"); 472 | } 473 | .ui-menu .ui-menu-divider { 474 | margin: 5px 0; 475 | height: 0; 476 | font-size: 0; 477 | line-height: 0; 478 | border-width: 1px 0 0 0; 479 | } 480 | .ui-menu .ui-state-focus, 481 | .ui-menu .ui-state-active { 482 | margin: -1px; 483 | } 484 | 485 | /* icon support */ 486 | .ui-menu-icons { 487 | position: relative; 488 | } 489 | .ui-menu-icons .ui-menu-item { 490 | padding-left: 2em; 491 | } 492 | 493 | /* left-aligned */ 494 | .ui-menu .ui-icon { 495 | position: absolute; 496 | top: 0; 497 | bottom: 0; 498 | left: .2em; 499 | margin: auto 0; 500 | } 501 | 502 | /* right-aligned */ 503 | .ui-menu .ui-menu-icon { 504 | left: auto; 505 | right: 0; 506 | } 507 | .ui-progressbar { 508 | height: 2em; 509 | text-align: left; 510 | overflow: hidden; 511 | } 512 | .ui-progressbar .ui-progressbar-value { 513 | margin: -1px; 514 | height: 100%; 515 | } 516 | .ui-progressbar .ui-progressbar-overlay { 517 | background: url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw=="); 518 | height: 100%; 519 | filter: alpha(opacity=25); /* support: IE8 */ 520 | opacity: 0.25; 521 | } 522 | .ui-progressbar-indeterminate .ui-progressbar-value { 523 | background-image: none; 524 | } 525 | .ui-resizable { 526 | position: relative; 527 | } 528 | .ui-resizable-handle { 529 | position: absolute; 530 | font-size: 0.1px; 531 | display: block; 532 | -ms-touch-action: none; 533 | touch-action: none; 534 | } 535 | .ui-resizable-disabled .ui-resizable-handle, 536 | .ui-resizable-autohide .ui-resizable-handle { 537 | display: none; 538 | } 539 | .ui-resizable-n { 540 | cursor: n-resize; 541 | height: 7px; 542 | width: 100%; 543 | top: -5px; 544 | left: 0; 545 | } 546 | .ui-resizable-s { 547 | cursor: s-resize; 548 | height: 7px; 549 | width: 100%; 550 | bottom: -5px; 551 | left: 0; 552 | } 553 | .ui-resizable-e { 554 | cursor: e-resize; 555 | width: 7px; 556 | right: -5px; 557 | top: 0; 558 | height: 100%; 559 | } 560 | .ui-resizable-w { 561 | cursor: w-resize; 562 | width: 7px; 563 | left: -5px; 564 | top: 0; 565 | height: 100%; 566 | } 567 | .ui-resizable-se { 568 | cursor: se-resize; 569 | width: 12px; 570 | height: 12px; 571 | right: 1px; 572 | bottom: 1px; 573 | } 574 | .ui-resizable-sw { 575 | cursor: sw-resize; 576 | width: 9px; 577 | height: 9px; 578 | left: -5px; 579 | bottom: -5px; 580 | } 581 | .ui-resizable-nw { 582 | cursor: nw-resize; 583 | width: 9px; 584 | height: 9px; 585 | left: -5px; 586 | top: -5px; 587 | } 588 | .ui-resizable-ne { 589 | cursor: ne-resize; 590 | width: 9px; 591 | height: 9px; 592 | right: -5px; 593 | top: -5px; 594 | } 595 | .ui-selectable { 596 | -ms-touch-action: none; 597 | touch-action: none; 598 | } 599 | .ui-selectable-helper { 600 | position: absolute; 601 | z-index: 100; 602 | border: 1px dotted black; 603 | } 604 | .ui-selectmenu-menu { 605 | padding: 0; 606 | margin: 0; 607 | position: absolute; 608 | top: 0; 609 | left: 0; 610 | display: none; 611 | } 612 | .ui-selectmenu-menu .ui-menu { 613 | overflow: auto; 614 | /* Support: IE7 */ 615 | overflow-x: hidden; 616 | padding-bottom: 1px; 617 | } 618 | .ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup { 619 | font-size: 1em; 620 | font-weight: bold; 621 | line-height: 1.5; 622 | padding: 2px 0.4em; 623 | margin: 0.5em 0 0 0; 624 | height: auto; 625 | border: 0; 626 | } 627 | .ui-selectmenu-open { 628 | display: block; 629 | } 630 | .ui-selectmenu-button { 631 | display: inline-block; 632 | overflow: hidden; 633 | position: relative; 634 | text-decoration: none; 635 | cursor: pointer; 636 | } 637 | .ui-selectmenu-button span.ui-icon { 638 | right: 0.5em; 639 | left: auto; 640 | margin-top: -8px; 641 | position: absolute; 642 | top: 50%; 643 | } 644 | .ui-selectmenu-button span.ui-selectmenu-text { 645 | text-align: left; 646 | padding: 0.4em 2.1em 0.4em 1em; 647 | display: block; 648 | line-height: 1.4; 649 | overflow: hidden; 650 | text-overflow: ellipsis; 651 | white-space: nowrap; 652 | } 653 | .ui-slider { 654 | position: relative; 655 | text-align: left; 656 | } 657 | .ui-slider .ui-slider-handle { 658 | position: absolute; 659 | z-index: 2; 660 | width: 1.2em; 661 | height: 1.2em; 662 | cursor: default; 663 | -ms-touch-action: none; 664 | touch-action: none; 665 | } 666 | .ui-slider .ui-slider-range { 667 | position: absolute; 668 | z-index: 1; 669 | font-size: .7em; 670 | display: block; 671 | border: 0; 672 | background-position: 0 0; 673 | } 674 | 675 | /* support: IE8 - See #6727 */ 676 | .ui-slider.ui-state-disabled .ui-slider-handle, 677 | .ui-slider.ui-state-disabled .ui-slider-range { 678 | filter: inherit; 679 | } 680 | 681 | .ui-slider-horizontal { 682 | height: .8em; 683 | } 684 | .ui-slider-horizontal .ui-slider-handle { 685 | top: -.3em; 686 | margin-left: -.6em; 687 | } 688 | .ui-slider-horizontal .ui-slider-range { 689 | top: 0; 690 | height: 100%; 691 | } 692 | .ui-slider-horizontal .ui-slider-range-min { 693 | left: 0; 694 | } 695 | .ui-slider-horizontal .ui-slider-range-max { 696 | right: 0; 697 | } 698 | 699 | .ui-slider-vertical { 700 | width: .8em; 701 | height: 100px; 702 | } 703 | .ui-slider-vertical .ui-slider-handle { 704 | left: -.3em; 705 | margin-left: 0; 706 | margin-bottom: -.6em; 707 | } 708 | .ui-slider-vertical .ui-slider-range { 709 | left: 0; 710 | width: 100%; 711 | } 712 | .ui-slider-vertical .ui-slider-range-min { 713 | bottom: 0; 714 | } 715 | .ui-slider-vertical .ui-slider-range-max { 716 | top: 0; 717 | } 718 | .ui-sortable-handle { 719 | -ms-touch-action: none; 720 | touch-action: none; 721 | } 722 | .ui-spinner { 723 | position: relative; 724 | display: inline-block; 725 | overflow: hidden; 726 | padding: 0; 727 | vertical-align: middle; 728 | } 729 | .ui-spinner-input { 730 | border: none; 731 | background: none; 732 | color: inherit; 733 | padding: 0; 734 | margin: .2em 0; 735 | vertical-align: middle; 736 | margin-left: .4em; 737 | margin-right: 22px; 738 | } 739 | .ui-spinner-button { 740 | width: 16px; 741 | height: 50%; 742 | font-size: .5em; 743 | padding: 0; 744 | margin: 0; 745 | text-align: center; 746 | position: absolute; 747 | cursor: default; 748 | display: block; 749 | overflow: hidden; 750 | right: 0; 751 | } 752 | /* more specificity required here to override default borders */ 753 | .ui-spinner a.ui-spinner-button { 754 | border-top: none; 755 | border-bottom: none; 756 | border-right: none; 757 | } 758 | /* vertically center icon */ 759 | .ui-spinner .ui-icon { 760 | position: absolute; 761 | margin-top: -8px; 762 | top: 50%; 763 | left: 0; 764 | } 765 | .ui-spinner-up { 766 | top: 0; 767 | } 768 | .ui-spinner-down { 769 | bottom: 0; 770 | } 771 | 772 | /* TR overrides */ 773 | .ui-spinner .ui-icon-triangle-1-s { 774 | /* need to fix icons sprite */ 775 | background-position: -65px -16px; 776 | } 777 | .ui-tabs { 778 | position: relative;/* position: relative prevents IE scroll bug (element with position: relative inside container with overflow: auto appear as "fixed") */ 779 | padding: .2em; 780 | } 781 | .ui-tabs .ui-tabs-nav { 782 | margin: 0; 783 | padding: .2em .2em 0; 784 | } 785 | .ui-tabs .ui-tabs-nav li { 786 | list-style: none; 787 | float: left; 788 | position: relative; 789 | top: 0; 790 | margin: 1px .2em 0 0; 791 | border-bottom-width: 0; 792 | padding: 0; 793 | white-space: nowrap; 794 | } 795 | .ui-tabs .ui-tabs-nav .ui-tabs-anchor { 796 | float: left; 797 | padding: .5em 1em; 798 | text-decoration: none; 799 | } 800 | .ui-tabs .ui-tabs-nav li.ui-tabs-active { 801 | margin-bottom: -1px; 802 | padding-bottom: 1px; 803 | } 804 | .ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor, 805 | .ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor, 806 | .ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor { 807 | cursor: text; 808 | } 809 | .ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor { 810 | cursor: pointer; 811 | } 812 | .ui-tabs .ui-tabs-panel { 813 | display: block; 814 | border-width: 0; 815 | padding: 1em 1.4em; 816 | background: none; 817 | } 818 | .ui-tooltip { 819 | padding: 8px; 820 | position: absolute; 821 | z-index: 9999; 822 | max-width: 300px; 823 | -webkit-box-shadow: 0 0 5px #aaa; 824 | box-shadow: 0 0 5px #aaa; 825 | } 826 | body .ui-tooltip { 827 | border-width: 2px; 828 | } 829 | 830 | /* Component containers 831 | ----------------------------------*/ 832 | .ui-widget { 833 | font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; 834 | font-size: 1.1em; 835 | } 836 | .ui-widget .ui-widget { 837 | font-size: 1em; 838 | } 839 | .ui-widget input, 840 | .ui-widget select, 841 | .ui-widget textarea, 842 | .ui-widget button { 843 | font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif; 844 | font-size: 1em; 845 | } 846 | .ui-widget-content { 847 | border: 1px solid #dddddd; 848 | background: #eeeeee url("images/ui-bg_highlight-soft_100_eeeeee_1x100.png") 50% top repeat-x; 849 | color: #333333; 850 | } 851 | .ui-widget-content a { 852 | color: #333333; 853 | } 854 | .ui-widget-header { 855 | border: 1px solid #e78f08; 856 | background: #f6a828 url("images/ui-bg_gloss-wave_35_f6a828_500x100.png") 50% 50% repeat-x; 857 | color: #ffffff; 858 | font-weight: bold; 859 | } 860 | .ui-widget-header a { 861 | color: #ffffff; 862 | } 863 | 864 | /* Interaction states 865 | ----------------------------------*/ 866 | .ui-state-default, 867 | .ui-widget-content .ui-state-default, 868 | .ui-widget-header .ui-state-default { 869 | border: 1px solid #cccccc; 870 | background: #f6f6f6 url("images/ui-bg_glass_100_f6f6f6_1x400.png") 50% 50% repeat-x; 871 | font-weight: bold; 872 | color: #1c94c4; 873 | } 874 | .ui-state-default a, 875 | .ui-state-default a:link, 876 | .ui-state-default a:visited { 877 | color: #1c94c4; 878 | text-decoration: none; 879 | } 880 | .ui-state-hover, 881 | .ui-widget-content .ui-state-hover, 882 | .ui-widget-header .ui-state-hover, 883 | .ui-state-focus, 884 | .ui-widget-content .ui-state-focus, 885 | .ui-widget-header .ui-state-focus { 886 | border: 1px solid #fbcb09; 887 | background: #fdf5ce url("images/ui-bg_glass_100_fdf5ce_1x400.png") 50% 50% repeat-x; 888 | font-weight: bold; 889 | color: #c77405; 890 | } 891 | .ui-state-hover a, 892 | .ui-state-hover a:hover, 893 | .ui-state-hover a:link, 894 | .ui-state-hover a:visited, 895 | .ui-state-focus a, 896 | .ui-state-focus a:hover, 897 | .ui-state-focus a:link, 898 | .ui-state-focus a:visited { 899 | color: #c77405; 900 | text-decoration: none; 901 | } 902 | .ui-state-active, 903 | .ui-widget-content .ui-state-active, 904 | .ui-widget-header .ui-state-active { 905 | border: 1px solid #fbd850; 906 | background: #ffffff url("images/ui-bg_glass_65_ffffff_1x400.png") 50% 50% repeat-x; 907 | font-weight: bold; 908 | color: #eb8f00; 909 | } 910 | .ui-state-active a, 911 | .ui-state-active a:link, 912 | .ui-state-active a:visited { 913 | color: #eb8f00; 914 | text-decoration: none; 915 | } 916 | 917 | /* Interaction Cues 918 | ----------------------------------*/ 919 | .ui-state-highlight, 920 | .ui-widget-content .ui-state-highlight, 921 | .ui-widget-header .ui-state-highlight { 922 | border: 1px solid #fed22f; 923 | background: #ffe45c url("images/ui-bg_highlight-soft_75_ffe45c_1x100.png") 50% top repeat-x; 924 | color: #363636; 925 | } 926 | .ui-state-highlight a, 927 | .ui-widget-content .ui-state-highlight a, 928 | .ui-widget-header .ui-state-highlight a { 929 | color: #363636; 930 | } 931 | .ui-state-error, 932 | .ui-widget-content .ui-state-error, 933 | .ui-widget-header .ui-state-error { 934 | border: 1px solid #cd0a0a; 935 | background: #b81900 url("images/ui-bg_diagonals-thick_18_b81900_40x40.png") 50% 50% repeat; 936 | color: #ffffff; 937 | } 938 | .ui-state-error a, 939 | .ui-widget-content .ui-state-error a, 940 | .ui-widget-header .ui-state-error a { 941 | color: #ffffff; 942 | } 943 | .ui-state-error-text, 944 | .ui-widget-content .ui-state-error-text, 945 | .ui-widget-header .ui-state-error-text { 946 | color: #ffffff; 947 | } 948 | .ui-priority-primary, 949 | .ui-widget-content .ui-priority-primary, 950 | .ui-widget-header .ui-priority-primary { 951 | font-weight: bold; 952 | } 953 | .ui-priority-secondary, 954 | .ui-widget-content .ui-priority-secondary, 955 | .ui-widget-header .ui-priority-secondary { 956 | opacity: .7; 957 | filter:Alpha(Opacity=70); /* support: IE8 */ 958 | font-weight: normal; 959 | } 960 | .ui-state-disabled, 961 | .ui-widget-content .ui-state-disabled, 962 | .ui-widget-header .ui-state-disabled { 963 | opacity: .35; 964 | filter:Alpha(Opacity=35); /* support: IE8 */ 965 | background-image: none; 966 | } 967 | .ui-state-disabled .ui-icon { 968 | filter:Alpha(Opacity=35); /* support: IE8 - See #6059 */ 969 | } 970 | 971 | /* Icons 972 | ----------------------------------*/ 973 | 974 | /* states and images */ 975 | .ui-icon { 976 | width: 16px; 977 | height: 16px; 978 | } 979 | .ui-icon, 980 | .ui-widget-content .ui-icon { 981 | background-image: url("images/ui-icons_222222_256x240.png"); 982 | } 983 | .ui-widget-header .ui-icon { 984 | background-image: url("images/ui-icons_ffffff_256x240.png"); 985 | } 986 | .ui-state-default .ui-icon { 987 | background-image: url("images/ui-icons_ef8c08_256x240.png"); 988 | } 989 | .ui-state-hover .ui-icon, 990 | .ui-state-focus .ui-icon { 991 | background-image: url("images/ui-icons_ef8c08_256x240.png"); 992 | } 993 | .ui-state-active .ui-icon { 994 | background-image: url("images/ui-icons_ef8c08_256x240.png"); 995 | } 996 | .ui-state-highlight .ui-icon { 997 | background-image: url("images/ui-icons_228ef1_256x240.png"); 998 | } 999 | .ui-state-error .ui-icon, 1000 | .ui-state-error-text .ui-icon { 1001 | background-image: url("images/ui-icons_ffd27a_256x240.png"); 1002 | } 1003 | 1004 | /* positioning */ 1005 | .ui-icon-blank { background-position: 16px 16px; } 1006 | .ui-icon-carat-1-n { background-position: 0 0; } 1007 | .ui-icon-carat-1-ne { background-position: -16px 0; } 1008 | .ui-icon-carat-1-e { background-position: -32px 0; } 1009 | .ui-icon-carat-1-se { background-position: -48px 0; } 1010 | .ui-icon-carat-1-s { background-position: -64px 0; } 1011 | .ui-icon-carat-1-sw { background-position: -80px 0; } 1012 | .ui-icon-carat-1-w { background-position: -96px 0; } 1013 | .ui-icon-carat-1-nw { background-position: -112px 0; } 1014 | .ui-icon-carat-2-n-s { background-position: -128px 0; } 1015 | .ui-icon-carat-2-e-w { background-position: -144px 0; } 1016 | .ui-icon-triangle-1-n { background-position: 0 -16px; } 1017 | .ui-icon-triangle-1-ne { background-position: -16px -16px; } 1018 | .ui-icon-triangle-1-e { background-position: -32px -16px; } 1019 | .ui-icon-triangle-1-se { background-position: -48px -16px; } 1020 | .ui-icon-triangle-1-s { background-position: -64px -16px; } 1021 | .ui-icon-triangle-1-sw { background-position: -80px -16px; } 1022 | .ui-icon-triangle-1-w { background-position: -96px -16px; } 1023 | .ui-icon-triangle-1-nw { background-position: -112px -16px; } 1024 | .ui-icon-triangle-2-n-s { background-position: -128px -16px; } 1025 | .ui-icon-triangle-2-e-w { background-position: -144px -16px; } 1026 | .ui-icon-arrow-1-n { background-position: 0 -32px; } 1027 | .ui-icon-arrow-1-ne { background-position: -16px -32px; } 1028 | .ui-icon-arrow-1-e { background-position: -32px -32px; } 1029 | .ui-icon-arrow-1-se { background-position: -48px -32px; } 1030 | .ui-icon-arrow-1-s { background-position: -64px -32px; } 1031 | .ui-icon-arrow-1-sw { background-position: -80px -32px; } 1032 | .ui-icon-arrow-1-w { background-position: -96px -32px; } 1033 | .ui-icon-arrow-1-nw { background-position: -112px -32px; } 1034 | .ui-icon-arrow-2-n-s { background-position: -128px -32px; } 1035 | .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; } 1036 | .ui-icon-arrow-2-e-w { background-position: -160px -32px; } 1037 | .ui-icon-arrow-2-se-nw { background-position: -176px -32px; } 1038 | .ui-icon-arrowstop-1-n { background-position: -192px -32px; } 1039 | .ui-icon-arrowstop-1-e { background-position: -208px -32px; } 1040 | .ui-icon-arrowstop-1-s { background-position: -224px -32px; } 1041 | .ui-icon-arrowstop-1-w { background-position: -240px -32px; } 1042 | .ui-icon-arrowthick-1-n { background-position: 0 -48px; } 1043 | .ui-icon-arrowthick-1-ne { background-position: -16px -48px; } 1044 | .ui-icon-arrowthick-1-e { background-position: -32px -48px; } 1045 | .ui-icon-arrowthick-1-se { background-position: -48px -48px; } 1046 | .ui-icon-arrowthick-1-s { background-position: -64px -48px; } 1047 | .ui-icon-arrowthick-1-sw { background-position: -80px -48px; } 1048 | .ui-icon-arrowthick-1-w { background-position: -96px -48px; } 1049 | .ui-icon-arrowthick-1-nw { background-position: -112px -48px; } 1050 | .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; } 1051 | .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; } 1052 | .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; } 1053 | .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; } 1054 | .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; } 1055 | .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; } 1056 | .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; } 1057 | .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; } 1058 | .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; } 1059 | .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; } 1060 | .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; } 1061 | .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; } 1062 | .ui-icon-arrowreturn-1-w { background-position: -64px -64px; } 1063 | .ui-icon-arrowreturn-1-n { background-position: -80px -64px; } 1064 | .ui-icon-arrowreturn-1-e { background-position: -96px -64px; } 1065 | .ui-icon-arrowreturn-1-s { background-position: -112px -64px; } 1066 | .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; } 1067 | .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; } 1068 | .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; } 1069 | .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; } 1070 | .ui-icon-arrow-4 { background-position: 0 -80px; } 1071 | .ui-icon-arrow-4-diag { background-position: -16px -80px; } 1072 | .ui-icon-extlink { background-position: -32px -80px; } 1073 | .ui-icon-newwin { background-position: -48px -80px; } 1074 | .ui-icon-refresh { background-position: -64px -80px; } 1075 | .ui-icon-shuffle { background-position: -80px -80px; } 1076 | .ui-icon-transfer-e-w { background-position: -96px -80px; } 1077 | .ui-icon-transferthick-e-w { background-position: -112px -80px; } 1078 | .ui-icon-folder-collapsed { background-position: 0 -96px; } 1079 | .ui-icon-folder-open { background-position: -16px -96px; } 1080 | .ui-icon-document { background-position: -32px -96px; } 1081 | .ui-icon-document-b { background-position: -48px -96px; } 1082 | .ui-icon-note { background-position: -64px -96px; } 1083 | .ui-icon-mail-closed { background-position: -80px -96px; } 1084 | .ui-icon-mail-open { background-position: -96px -96px; } 1085 | .ui-icon-suitcase { background-position: -112px -96px; } 1086 | .ui-icon-comment { background-position: -128px -96px; } 1087 | .ui-icon-person { background-position: -144px -96px; } 1088 | .ui-icon-print { background-position: -160px -96px; } 1089 | .ui-icon-trash { background-position: -176px -96px; } 1090 | .ui-icon-locked { background-position: -192px -96px; } 1091 | .ui-icon-unlocked { background-position: -208px -96px; } 1092 | .ui-icon-bookmark { background-position: -224px -96px; } 1093 | .ui-icon-tag { background-position: -240px -96px; } 1094 | .ui-icon-home { background-position: 0 -112px; } 1095 | .ui-icon-flag { background-position: -16px -112px; } 1096 | .ui-icon-calendar { background-position: -32px -112px; } 1097 | .ui-icon-cart { background-position: -48px -112px; } 1098 | .ui-icon-pencil { background-position: -64px -112px; } 1099 | .ui-icon-clock { background-position: -80px -112px; } 1100 | .ui-icon-disk { background-position: -96px -112px; } 1101 | .ui-icon-calculator { background-position: -112px -112px; } 1102 | .ui-icon-zoomin { background-position: -128px -112px; } 1103 | .ui-icon-zoomout { background-position: -144px -112px; } 1104 | .ui-icon-search { background-position: -160px -112px; } 1105 | .ui-icon-wrench { background-position: -176px -112px; } 1106 | .ui-icon-gear { background-position: -192px -112px; } 1107 | .ui-icon-heart { background-position: -208px -112px; } 1108 | .ui-icon-star { background-position: -224px -112px; } 1109 | .ui-icon-link { background-position: -240px -112px; } 1110 | .ui-icon-cancel { background-position: 0 -128px; } 1111 | .ui-icon-plus { background-position: -16px -128px; } 1112 | .ui-icon-plusthick { background-position: -32px -128px; } 1113 | .ui-icon-minus { background-position: -48px -128px; } 1114 | .ui-icon-minusthick { background-position: -64px -128px; } 1115 | .ui-icon-close { background-position: -80px -128px; } 1116 | .ui-icon-closethick { background-position: -96px -128px; } 1117 | .ui-icon-key { background-position: -112px -128px; } 1118 | .ui-icon-lightbulb { background-position: -128px -128px; } 1119 | .ui-icon-scissors { background-position: -144px -128px; } 1120 | .ui-icon-clipboard { background-position: -160px -128px; } 1121 | .ui-icon-copy { background-position: -176px -128px; } 1122 | .ui-icon-contact { background-position: -192px -128px; } 1123 | .ui-icon-image { background-position: -208px -128px; } 1124 | .ui-icon-video { background-position: -224px -128px; } 1125 | .ui-icon-script { background-position: -240px -128px; } 1126 | .ui-icon-alert { background-position: 0 -144px; } 1127 | .ui-icon-info { background-position: -16px -144px; } 1128 | .ui-icon-notice { background-position: -32px -144px; } 1129 | .ui-icon-help { background-position: -48px -144px; } 1130 | .ui-icon-check { background-position: -64px -144px; } 1131 | .ui-icon-bullet { background-position: -80px -144px; } 1132 | .ui-icon-radio-on { background-position: -96px -144px; } 1133 | .ui-icon-radio-off { background-position: -112px -144px; } 1134 | .ui-icon-pin-w { background-position: -128px -144px; } 1135 | .ui-icon-pin-s { background-position: -144px -144px; } 1136 | .ui-icon-play { background-position: 0 -160px; } 1137 | .ui-icon-pause { background-position: -16px -160px; } 1138 | .ui-icon-seek-next { background-position: -32px -160px; } 1139 | .ui-icon-seek-prev { background-position: -48px -160px; } 1140 | .ui-icon-seek-end { background-position: -64px -160px; } 1141 | .ui-icon-seek-start { background-position: -80px -160px; } 1142 | /* ui-icon-seek-first is deprecated, use ui-icon-seek-start instead */ 1143 | .ui-icon-seek-first { background-position: -80px -160px; } 1144 | .ui-icon-stop { background-position: -96px -160px; } 1145 | .ui-icon-eject { background-position: -112px -160px; } 1146 | .ui-icon-volume-off { background-position: -128px -160px; } 1147 | .ui-icon-volume-on { background-position: -144px -160px; } 1148 | .ui-icon-power { background-position: 0 -176px; } 1149 | .ui-icon-signal-diag { background-position: -16px -176px; } 1150 | .ui-icon-signal { background-position: -32px -176px; } 1151 | .ui-icon-battery-0 { background-position: -48px -176px; } 1152 | .ui-icon-battery-1 { background-position: -64px -176px; } 1153 | .ui-icon-battery-2 { background-position: -80px -176px; } 1154 | .ui-icon-battery-3 { background-position: -96px -176px; } 1155 | .ui-icon-circle-plus { background-position: 0 -192px; } 1156 | .ui-icon-circle-minus { background-position: -16px -192px; } 1157 | .ui-icon-circle-close { background-position: -32px -192px; } 1158 | .ui-icon-circle-triangle-e { background-position: -48px -192px; } 1159 | .ui-icon-circle-triangle-s { background-position: -64px -192px; } 1160 | .ui-icon-circle-triangle-w { background-position: -80px -192px; } 1161 | .ui-icon-circle-triangle-n { background-position: -96px -192px; } 1162 | .ui-icon-circle-arrow-e { background-position: -112px -192px; } 1163 | .ui-icon-circle-arrow-s { background-position: -128px -192px; } 1164 | .ui-icon-circle-arrow-w { background-position: -144px -192px; } 1165 | .ui-icon-circle-arrow-n { background-position: -160px -192px; } 1166 | .ui-icon-circle-zoomin { background-position: -176px -192px; } 1167 | .ui-icon-circle-zoomout { background-position: -192px -192px; } 1168 | .ui-icon-circle-check { background-position: -208px -192px; } 1169 | .ui-icon-circlesmall-plus { background-position: 0 -208px; } 1170 | .ui-icon-circlesmall-minus { background-position: -16px -208px; } 1171 | .ui-icon-circlesmall-close { background-position: -32px -208px; } 1172 | .ui-icon-squaresmall-plus { background-position: -48px -208px; } 1173 | .ui-icon-squaresmall-minus { background-position: -64px -208px; } 1174 | .ui-icon-squaresmall-close { background-position: -80px -208px; } 1175 | .ui-icon-grip-dotted-vertical { background-position: 0 -224px; } 1176 | .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; } 1177 | .ui-icon-grip-solid-vertical { background-position: -32px -224px; } 1178 | .ui-icon-grip-solid-horizontal { background-position: -48px -224px; } 1179 | .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; } 1180 | .ui-icon-grip-diagonal-se { background-position: -80px -224px; } 1181 | 1182 | 1183 | /* Misc visuals 1184 | ----------------------------------*/ 1185 | 1186 | /* Corner radius */ 1187 | .ui-corner-all, 1188 | .ui-corner-top, 1189 | .ui-corner-left, 1190 | .ui-corner-tl { 1191 | border-top-left-radius: 4px; 1192 | } 1193 | .ui-corner-all, 1194 | .ui-corner-top, 1195 | .ui-corner-right, 1196 | .ui-corner-tr { 1197 | border-top-right-radius: 4px; 1198 | } 1199 | .ui-corner-all, 1200 | .ui-corner-bottom, 1201 | .ui-corner-left, 1202 | .ui-corner-bl { 1203 | border-bottom-left-radius: 4px; 1204 | } 1205 | .ui-corner-all, 1206 | .ui-corner-bottom, 1207 | .ui-corner-right, 1208 | .ui-corner-br { 1209 | border-bottom-right-radius: 4px; 1210 | } 1211 | 1212 | /* Overlays */ 1213 | .ui-widget-overlay { 1214 | background: #666666 url("images/ui-bg_diagonals-thick_20_666666_40x40.png") 50% 50% repeat; 1215 | opacity: .5; 1216 | filter: Alpha(Opacity=50); /* support: IE8 */ 1217 | } 1218 | .ui-widget-shadow { 1219 | margin: -5px 0 0 -5px; 1220 | padding: 5px; 1221 | background: #000000 url("images/ui-bg_flat_10_000000_40x100.png") 50% 50% repeat-x; 1222 | opacity: .2; 1223 | filter: Alpha(Opacity=20); /* support: IE8 */ 1224 | border-radius: 5px; 1225 | } 1226 | -------------------------------------------------------------------------------- /file/1.txt: -------------------------------------------------------------------------------- 1 | 阿迪沙发艾丝凡阿斯蒂芬阿斯蒂芬阿所发生的倒萨阿萨德发萨芬asdfasf飒沓 -------------------------------------------------------------------------------- /file/11.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/11.html -------------------------------------------------------------------------------- /file/12.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/12.txt -------------------------------------------------------------------------------- /file/2_1e5fa2cf00.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/2_1e5fa2cf00.png -------------------------------------------------------------------------------- /file/3.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/3.html -------------------------------------------------------------------------------- /file/applications_937022ca63.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Bitnami: Open Source. Simplified 6 | 7 | 8 | 9 |
10 |
11 |
12 |
13 | 14 | 15 | 19 | 20 |
16 |

Apache Friends and Bitnami are cooperating to make dozens of open source applications available on XAMPP, for free. Bitnami-packaged applications include Wordpress, Drupal, Joomla! and dozens of others and can be deployed with one-click installers. Visit the Bitnami XAMPP page for details on the currently available apps.


17 |

Check out our Bitnami for XAMPP Start Guide for more information about the applications installed.



18 |
21 |
22 | 23 |

24 |
25 |
26 |
27 | 28 | 29 | -------------------------------------------------------------------------------- /file/ban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/ban.png -------------------------------------------------------------------------------- /file/common.func_cca1614d38.php: -------------------------------------------------------------------------------- 1 | alert('{$message}');location.href='{$url}';"; 17 | } 18 | 19 | /** 20 | * 截取文件扩展名 21 | * 2014-12-03 13:46:15 22 | * @param string $filename 文件名 23 | * @return string 24 | */ 25 | function getExt($filename) { 26 | $val = pathinfo($filename,PATHINFO_EXTENSION); 27 | return strtolower($val); 28 | } 29 | 30 | /** 31 | * 产生唯一名称 32 | * 2014-12-03 19:03:30 33 | * @param int $length 34 | * @return string 35 | */ 36 | function getUniqidName($length=10){ 37 | return substr(md5(uniqid(microtime(true),true)),0,$length); 38 | } 39 | ?> -------------------------------------------------------------------------------- /file/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/copy.png -------------------------------------------------------------------------------- /file/correct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/correct.png -------------------------------------------------------------------------------- /file/d3/1.txt: -------------------------------------------------------------------------------- 1 | asdfasdfasddsafas -------------------------------------------------------------------------------- /file/d3/2.txt: -------------------------------------------------------------------------------- 1 | 的沙发斯蒂芬 啊实打实地方阿士大夫撒积分卡手机费 -------------------------------------------------------------------------------- /file/d3/3.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/d3/3.txt -------------------------------------------------------------------------------- /file/d3/eee/12.txt: -------------------------------------------------------------------------------- 1 | asdfasdfasd -------------------------------------------------------------------------------- /file/d3/eee/2.txt: -------------------------------------------------------------------------------- 1 | 的沙发斯蒂芬 啊实打实地方阿士大夫撒积分卡手机费 -------------------------------------------------------------------------------- /file/d3/index_cde0e8899f.php: -------------------------------------------------------------------------------- 1 | 11 | Something is wrong with the XAMPP installation :-( 12 | -------------------------------------------------------------------------------- /file/d4/12.txt: -------------------------------------------------------------------------------- 1 | asdfasdfasd -------------------------------------------------------------------------------- /file/d4/2.txt: -------------------------------------------------------------------------------- 1 | 的沙发斯蒂芬 啊实打实地方阿士大夫撒积分卡手机费 -------------------------------------------------------------------------------- /file/d4/index.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 | 在线文件管理器 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 45 | 48 | 49 | 54 |
编号名称类型大小可读可写可执行创建时间访问时间操作
42 | 43 | 44 | 46 | 47 |
55 | 56 |
-------------------------------------------------------------------------------- /file/dd3/12.txt: -------------------------------------------------------------------------------- 1 | asdfasdfasd -------------------------------------------------------------------------------- /file/index.php: -------------------------------------------------------------------------------- 1 | 13 | 14 | 15 | 16 | 在线文件管理器 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 38 | 39 | 40 | 41 | 45 | 48 | 49 | 54 |
编号名称类型大小可读可写可执行创建时间访问时间操作
42 | 43 | 44 | 46 | 47 |
55 | 56 |
-------------------------------------------------------------------------------- /file/monster_84a315594f.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/file/monster_84a315594f.jpg -------------------------------------------------------------------------------- /func/common.func.php: -------------------------------------------------------------------------------- 1 | alert('{$message}');location.href='{$url}';"; 17 | } 18 | 19 | /** 20 | * 截取文件扩展名 21 | * 2014-12-03 13:46:15 22 | * @param string $filename 文件名 23 | * @return string 24 | */ 25 | function getExt($filename) { 26 | $val = pathinfo($filename,PATHINFO_EXTENSION); 27 | return strtolower($val); 28 | } 29 | 30 | /** 31 | * 产生唯一名称 32 | * 2014-12-03 19:03:30 33 | * @param int $length 34 | * @return string 35 | */ 36 | function getUniqidName($length=10){ 37 | return substr(md5(uniqid(microtime(true),true)),0,$length); 38 | } 39 | ?> -------------------------------------------------------------------------------- /func/dir.func.php: -------------------------------------------------------------------------------- 1 | ".$dst; 105 | if(file_exists($dst)) { 106 | if(is_dir($dst)) { 107 | if(!file_exists($dst."/".basename($src))) { 108 | if(rename($src ,$dst."/".basename($src))) { 109 | return "剪切成功"; 110 | } 111 | else { 112 | return "剪切失败"; 113 | } 114 | } 115 | else { 116 | return "存在同名文件夹"; 117 | } 118 | } 119 | else { 120 | return "不是一个文件夹"; 121 | } 122 | } 123 | else { 124 | return "目标文件夹不存在"; 125 | } 126 | } 127 | 128 | /** 129 | * 删除文件夹 130 | * 2014-12-03 18:30:00 131 | * @param string $path 132 | * @return string 133 | */ 134 | function delFolder($path) { 135 | $handle = opendir($path); 136 | //先删除文件夹里的文件,再删除文件夹 137 | while(($item = readdir($handle)) !== false) { 138 | if($item != "." && $item != "..") { 139 | if(is_file($path."/".$item)) { 140 | unlink($path . "/" . $item); 141 | } 142 | if(is_dir($path."/".$item)) { 143 | $func = __FUNCTION__; 144 | $func($path."/".$item); 145 | } 146 | } 147 | } 148 | closedir($handle); 149 | rmdir($path); 150 | return "文件夹删除成功"; 151 | } 152 | 153 | /** 154 | * 重命名文件夹 155 | * 2014-12-03 16:39:45 156 | * @param string $oldname 157 | * @param string $newname 158 | * @return string 159 | */ 160 | function renameFolder($oldname, $newname) { 161 | //检查文件夹名称的合法性 162 | if(checkFilename(basename($newname))) { 163 | //检查当前目录下是否存在同名文件夹名称 164 | if(!file_exists($newname)) { 165 | if(rename($oldname, $newname)) { 166 | return "重命名成功"; 167 | } 168 | else { 169 | return "重命名失败"; 170 | } 171 | } 172 | else { 173 | return "存在同名文件夹"; 174 | } 175 | } 176 | else { 177 | return "非法文件夹名称"; 178 | } 179 | } 180 | 181 | /** 182 | * 创建文件夹 183 | * 2014-12-03 16:42:15 184 | * @param string $dirname 185 | * @return string 186 | */ 187 | function createFolder($dirname) { 188 | //检查文件夹名称的合法性 189 | if(checkFilename(basename($dirname))) { 190 | //检查当前目录下是否存在同名文件夹名称 191 | if(!file_exists($dirname)) { 192 | if(mkdir($dirname,0777,true)) { 193 | return "文件夹创建成功"; 194 | } 195 | else { 196 | return "文件夹创建失败"; 197 | } 198 | } 199 | else { 200 | return "存在同名文件夹"; 201 | } 202 | } 203 | else { 204 | return "非法文件夹名称"; 205 | } 206 | } -------------------------------------------------------------------------------- /func/file.func.php: -------------------------------------------------------------------------------- 1 | = 1024){ 18 | $size /= 1024; 19 | $i++; 20 | } 21 | /** 22 | * round — 对浮点数进行四舍五入 23 | * float round ( float $val int $precision = 0) 24 | * $val 要处理的值 25 | * $precission 可选的十进制小数点后数字的数目 26 | */ 27 | return round($size,2).$arr[$i]; 28 | } 29 | 30 | 31 | /** 32 | * 创建文件 33 | * @param string $filename 文件名 34 | * @return string 35 | */ 36 | function createFile($filename) { 37 | //验证文件名的合法性,是否包含/,*,<>,?; 38 | $pattern = "/[\/,\*,<>,\?\|]/"; 39 | /** 40 | * 执行一个正则表达式匹配, 返回0(不匹配)或返回1 (匹配1次) 41 | * preg_match(string $pattern , string $subject) 42 | * $pattern 要搜索的模式,字符串类型。 43 | * $subject 输入字符串。 44 | * basename(string $path) — 返回路径中的文件名部分 45 | */ 46 | if(!preg_match($pattern ,basename($filename))) { 47 | //检测当前目录下是否包含同名文件 48 | if(!file_exists($filename)) { 49 | //通过touch($filename)来创建 50 | /** 51 | * touch — 设定文件的访问和修改时间 52 | * bool touch ( string $filename [, int $time = time() [, int $atime ]] ) 53 | * 尝试将由 filename 给出的文件的访问和修改时间设定为给出的 time。 54 | * 注意访问时间总是会被修改的,不论有几个参数。 55 | * 如果文件不存在,则会被创建 56 | */ 57 | if(touch($filename)) { 58 | return "文件创建成功"; 59 | } 60 | else { 61 | return "文件创建失败"; 62 | } 63 | } 64 | else { 65 | return "文件已存在 ,请重命名后创建"; 66 | } 67 | } 68 | else { 69 | return "非法文件名"; 70 | } 71 | } 72 | 73 | /** 74 | * 重命名文件 75 | * @param string $oldname 旧文件名 76 | * @param string $newname 新文件名 77 | */ 78 | function renameFile($oldname, $newname) { 79 | //验证文件名是否合法 80 | if(checkFilename($newname)) { 81 | //检测当前目录下是否存在同名文件 82 | /** 83 | * dirname -- 返回路径中的目录部分 84 | */ 85 | $path = dirname($oldname); 86 | if(!file_exists($path."/".$newname)) { 87 | //进行重命名 88 | if(rename($oldname,$path."/".$newname)) { 89 | return "重命名成功"; 90 | } 91 | else { 92 | return "重命名失败"; 93 | } 94 | } 95 | else { 96 | return "存在同名文件,请重新命名"; 97 | } 98 | } 99 | else { 100 | return "非法文件名"; 101 | } 102 | } 103 | 104 | /** 105 | * 删除文件 106 | * @param string $filename 文件名 107 | * @return string 108 | */ 109 | function delFile($filename) { 110 | if(unlink($filename)) { 111 | return "文件删除成功"; 112 | } 113 | else { 114 | return "文件删除失败"; 115 | } 116 | } 117 | 118 | /** 119 | * 下载文件操作 120 | * 2014-12-03 13:36:55 121 | * @param string $filename 122 | */ 123 | function downFile($filename) { 124 | header("content-disposition:attachment;filename=".basename($filename)); 125 | header("content-length:".filesize($filename)); 126 | readfile($filename); 127 | } 128 | 129 | /** 130 | * 验证文件名是否合法 131 | * 2014-12-03 13:39:47 132 | * @param $filename 文件名 133 | */ 134 | function checkFilename($filename) { 135 | $pattern = "/[\/,\*,<>,\?\|]/"; 136 | if(preg_match($pattern, $filename)) { 137 | return false; 138 | } 139 | else { 140 | return true; 141 | } 142 | } 143 | 144 | /** 145 | * 复制文件 146 | * 2014-12-03 18:45:38 147 | * @param string $filename 要复制的文件 148 | * @param string $dstname 目标目录 149 | * @return string 150 | */ 151 | function copyFile($filename,$dstname) { 152 | if(file_exists($dstname)) { 153 | //检查同目录下是否存在同文件 154 | if(!file_exists($dstname."/".basename($filename))) { 155 | if(copy($filename,$dstname."/".basename($filename))) { 156 | return "文件复制成功"; 157 | } 158 | else { 159 | return "文件复制失败"; 160 | } 161 | } 162 | else { 163 | return $dstname."目录下存在同名文件"; 164 | } 165 | } 166 | else { 167 | return "目标目录不存在"; 168 | } 169 | } 170 | 171 | /** 172 | * 剪切文件 173 | * 2014-12-03 18:46:37 174 | * @param string $filename 要剪切的文件 175 | * @param string $dstname 目标目录 176 | * @return string 177 | */ 178 | function cutFile($filename,$dstname) { 179 | if(file_exists($dstname)) { 180 | //检查同目录下是否存在同文件 181 | if(!file_exists($dstname."/".basename($filename))) { 182 | if(rename($filename,$dstname."/".basename($filename))) { 183 | return "文件剪切成功"; 184 | } 185 | else { 186 | return "文件剪切失败"; 187 | } 188 | } 189 | else { 190 | return $dstname."目录下存在同名文件"; 191 | } 192 | } 193 | else { 194 | return "目标目录不存在"; 195 | } 196 | } 197 | 198 | 199 | function uploadFile($fileInfo,$path ,$allowExt=array("gif","jpeg","jpg","png","txt","html","php"),$maxSize=10485760) { 200 | //判断错误号 201 | if($fileInfo['error'] == UPLOAD_ERR_OK) { 202 | //文件是否是通过HTTP POST 方式上传的 203 | if(is_uploaded_file($fileInfo['tmp_name'])) { 204 | //上传文件的文件名,只允许上传,jpeg,jpg,png,gif,txt的文件 205 | $ext = getExt($fileInfo['name']); 206 | $uniqid = getUniqidName(); 207 | $destination = $path."/".pathinfo($fileInfo['name'],PATHINFO_FILENAME)."_".$uniqid.".".$ext; 208 | if(in_array($ext,$allowExt)) { 209 | if($fileInfo['size'] <= $maxSize) { 210 | if(move_uploaded_file($fileInfo['tmp_name'],$destination)) { 211 | return "文件上传成功"; 212 | } 213 | else { 214 | return "文件上传失败"; 215 | } 216 | } 217 | else { 218 | return "文件过大"; 219 | } 220 | } 221 | else { 222 | return "非法文件类型"; 223 | } 224 | } 225 | else { 226 | return "文件不是通过HTTP POST方式上传上来的"; 227 | } 228 | } 229 | else { 230 | switch($fileInfo['error']){ 231 | case 1: 232 | return "超过了配置文件的大小"; 233 | break; 234 | case 2: 235 | return "超过了表单允许接收数据的大小"; 236 | break; 237 | case 3: 238 | return "文件部分被上传"; 239 | break; 240 | case 4: 241 | return "没有文件被上传"; 242 | break; 243 | } 244 | } 245 | } -------------------------------------------------------------------------------- /images/ban.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/ban.png -------------------------------------------------------------------------------- /images/copy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/copy.png -------------------------------------------------------------------------------- /images/correct.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/correct.png -------------------------------------------------------------------------------- /images/cut.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/cut.png -------------------------------------------------------------------------------- /images/delete.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/delete.png -------------------------------------------------------------------------------- /images/download.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/download.png -------------------------------------------------------------------------------- /images/edit.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/edit.png -------------------------------------------------------------------------------- /images/error.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/error.png -------------------------------------------------------------------------------- /images/file_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/file_ico.png -------------------------------------------------------------------------------- /images/folder_ico.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/folder_ico.png -------------------------------------------------------------------------------- /images/rename.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/rename.png -------------------------------------------------------------------------------- /images/show.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/eteplus/FileManager/6b832d5955b35d89da2a66ccc782f5247c3bb9bf/images/show.png -------------------------------------------------------------------------------- /index.php: -------------------------------------------------------------------------------- 1 | {$content}"; 33 | //高亮显示PHP代码 34 | //高亮显示文本中的代码 35 | //highlight_file($filename); 36 | if(strlen($content)){ 37 | //高亮显示字符串中的PHP代码 38 | $HightLightContent = highlight_string($content, true); 39 | $str = << 41 | 42 | {$HightLightContent} 43 | 44 | 45 | EOF; 46 | echo $str; 47 | } 48 | else { 49 | alertMessage("文件没有内容,请编辑后再查看",$redirect); 50 | } 51 | } 52 | elseif($action == "editContent") { 53 | //修改文件内容 54 | $content = file_get_contents($filename); 55 | $str = << 57 |
58 | 59 | 60 | 61 | 62 | EOF; 63 | echo $str; 64 | } 65 | elseif($action == "doEdit") { 66 | //修改文件内容操作 67 | $content = $_REQUEST['content']; 68 | echo $content; 69 | if(file_put_contents($filename,$content)) { 70 | $message = "文件修改成功"; 71 | } 72 | else { 73 | $message = "文件修改失败"; 74 | } 75 | alertMessage($message ,$redirect); 76 | } 77 | elseif($action == "renameFile") { 78 | //重命名文件 79 | $str = << 81 | 请填写新文件名: 82 | 83 | 84 | 85 | 86 | EOF; 87 | echo $str; 88 | } 89 | elseif($action=="doRename") { 90 | /* 91 | * 实现重命名操作 92 | * 2014-12-03 11:10:53 93 | */ 94 | $newname = $_REQUEST['newname']; 95 | $message = renameFile($filename ,$newname); 96 | alertMessage($message,$redirect); 97 | } 98 | elseif($action == "delFile") { 99 | /* 100 | * 删除文件 101 | * 2014-12-03 11:28:46 102 | */ 103 | $message = delFile($filename); 104 | alertMessage($message,$redirect); 105 | } 106 | elseif($action == "downFile") { 107 | /** 108 | * 下载文件 109 | * 2014-12-03 13:34:28 110 | */ 111 | $message = downFile($filename); 112 | } 113 | elseif($action == "copyFile") { 114 | /** 115 | * 复制文件 116 | * 2014-12-03 18:49:36 117 | */ 118 | $str = << 120 | 将文件复制到: 121 | 122 | 123 | 124 | 125 | EOF; 126 | echo $str; 127 | } 128 | else if($action == "doCopyFile") { 129 | /** 130 | * 执行复制文件 131 | * 2014-12-03 18:51:16 132 | */ 133 | $dstname = $_REQUEST['dstname']; 134 | $message = copyFile($filename, $path."/".$dstname); 135 | alertMessage($message,$redirect); 136 | } 137 | elseif($action == "cutFile") { 138 | /** 139 | * 剪切文件 140 | * 2014-12-03 18:53:50 141 | */ 142 | $str = << 144 | 将文件剪切到: 145 | 146 | 147 | 148 | 149 | EOF; 150 | echo $str; 151 | } 152 | else if($action == "doCutFile") { 153 | /** 154 | * 执行剪切文件 155 | * 2014-12-03 18:53:58 156 | */ 157 | $dstname = $_REQUEST['dstname']; 158 | $message = cutFile($filename, $path."/".$dstname); 159 | alertMessage($message,$redirect); 160 | } 161 | elseif($action == "uploadFile") { 162 | $fileInfo = $_FILES['upFile']; 163 | $message = uploadFile($fileInfo,$path); 164 | alertMessage($message,$redirect); 165 | } 166 | elseif($action == "createFolder") { 167 | /** 168 | * 新建文件夹 169 | * 2014-12-03 16:33:36 170 | */ 171 | $message = createFolder($path."/".$dirname); 172 | alertMessage($message,$redirect); 173 | } 174 | elseif($action == "renameFolder") { 175 | /** 176 | * 重命名文件夹 177 | * 2014-12-03 16:28:52 178 | */ 179 | $str = << 181 | 请填写新文件夹名称: 182 | 183 | 184 | 185 | 186 | EOF; 187 | echo $str; 188 | } 189 | elseif($action == "doRenameFolder") { 190 | /** 191 | * 执行重命名文件夹 192 | * 2014-12-03 16:30:36 193 | */ 194 | $newname = $_REQUEST["newname"]; 195 | $message = renameFolder($dirname ,$path."/".$newname); 196 | alertMessage($message,$redirect); 197 | } 198 | elseif($action == "copyFolder") { 199 | /** 200 | * 复制文件夹 201 | * 2014-12-03 15:55:35 202 | */ 203 | $str = << 205 | 将文件夹复制到: 206 | 207 | 208 | 209 | 210 | EOF; 211 | echo $str; 212 | } 213 | elseif($action == "doCopyFolder") { 214 | /** 215 | * 执行复制文件夹 216 | * 2014-12-03 16:01:57 217 | */ 218 | $dstname = $_REQUEST["dstname"]; 219 | //echo $path."/".$dstname."/".basename($dirname); 220 | $message = copyFolder($dirname,$path."/".$dstname."/".basename($dirname)); 221 | alertMessage($message,$redirect); 222 | } 223 | elseif($action == "cutFolder") { 224 | /** 225 | * 剪切文件夹 226 | * 2014-12-03 15:55:35 227 | */ 228 | $str = << 230 | 将文件剪切到: 231 | 232 | 233 | 234 | 235 | EOF; 236 | echo $str; 237 | } 238 | elseif($action == "doCutFolder") { 239 | /** 240 | * 执行剪切文件夹 241 | * 2014-12-03 16:01:57 242 | */ 243 | $dstname = $_REQUEST["dstname"]; 244 | //echo $path."/".$dstname."/".basename($dirname); 245 | $message = cutFolder($dirname,$path."/".$dstname); 246 | alertMessage($message,$redirect); 247 | } 248 | elseif($action == "delFolder") { 249 | /* 250 | * 删除文件夹 251 | * 2014-12-03 18:37:08 252 | */ 253 | $message = delFolder($dirname); 254 | alertMessage($message,$redirect); 255 | } 256 | ?> 257 | 258 | 259 | 260 | 261 | 在线文件管理器 262 | 263 | 264 | 265 | 266 | 290 | 327 | 328 | 329 | 330 |

在线文件管理器

331 |
332 | 343 |
344 |
345 | 346 | 347 | 348 | 354 | 355 | 356 | 357 | 363 | 364 | 365 | 366 | 367 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 394 | 395 | 396 | 397 | 401 | 404 | 415 | 426 | 437 | 442 | 447 | 452 | 483 | 484 | 489 | 490 | 496 | 497 | 498 | 499 | 503 | 506 | 517 | 528 | 539 | 544 | 549 | 554 | 561 | 562 | 568 |
编号名称类型大小可读可写可执行创建时间修改时间访问时间操作
398 | 399 | 400 | 402 | 403 | 405 | " alt="" width="32" height="32"/>'; 409 | } 410 | else { 411 | echo ''; 412 | } 413 | ?> 414 | 416 | " alt="" width="32" height="32"/>'; 420 | } 421 | else { 422 | echo ''; 423 | } 424 | ?> 425 | 427 | " alt="" width="32" height="32"/>'; 431 | } 432 | else { 433 | echo ''; 434 | } 435 | ?> 436 | 438 | 441 | 443 | 446 | 448 | 451 | 453 | 468 | 469 | 470 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 |
500 | 501 | 502 | 504 | 505 | 507 | " alt="" width="32" height="32"/>'; 511 | } 512 | else { 513 | echo ''; 514 | } 515 | ?> 516 | 518 | " alt="" width="32" height="32"/>'; 522 | } 523 | else { 524 | echo ''; 525 | } 526 | ?> 527 | 529 | " alt="" width="32" height="32"/>'; 533 | } 534 | else { 535 | echo ''; 536 | } 537 | ?> 538 | 540 | 543 | 545 | 548 | 550 | 553 | 555 | 556 | 557 | 558 | 559 | 560 |
569 |
570 | 571 |
--------------------------------------------------------------------------------