DIRECTORY_SEPARATOR в PHP

Вторник, 26 января 2010

В PHP есть предопределённая константа DIRECTORY_SEPARATOR, содержащая разделитель пути. Для Windows это «\», для Linux и остальных — «/».

Так как Windows понимает оба разделителя, достаточно использовать в коде разделитель Linux вместо константы.

Тем не менее, DIRECTORY_SEPARATOR полезен. Все функции, отдающие путь (вроде realpath), отдают его с специфичными для ОС разделителями. Чтобы разбить такой путь на составляющие как раз удобно использовать константу:


$segments = explode(DIRECTORY_SEPARATOR, realpath(__FILE__));

Тэги: ,

Комментарии

#1 dV 26.01.10, 15:37

Вам не хватает pathinfo() ?

#2 Sam 26.01.10, 15:51

Хватает. Цель заметки — показать, что не вполне безопасно DIRECTORY_SEPARATOR не использовать, за исключением редких случаев.

#3 Psih 26.01.10, 22:55

Sam

У вас как в анекдоте вышло:
- При двух положительных ответах быть не может отрицательного.
Голос из аудитории: - Да, конечно...

Моё любимое:
define('_DS', DIRECTORY_SEPARATOR);

И в путях использую его :)

#4 Nayjest 28.01.10, 01:15

Да, полезненько, а я раньше использовал везде юниксовый сепаратор

#5 Big_Shark 29.01.10, 09:08

CodeIgniter сам определяет данную константу и использует ее в своих функциях

#6 CharnaD 30.01.10, 21:13

А еще PHP_EOL

Оставить комментарий




Подписаться на RSS

Интересное

Разделы

  1. (5)
  2. (11)
  3. (6)
  4. (9)
  5. (6)
  6. (6)
  7. (16)
  8. (59)
  9. (264)
  10. (51)
  11. (16)
  12. (12)
  13. (37)
  14. (5)
  15. (10)
  16. (14)
  17. (18)
  18. (12)
  19. (6)
  20. (8)
  21. (7)
  22. (29)
  23. (62)
  24. (18)
  25. (64)
  26. (5)
  27. (193)
  28. (56)
  29. (6)
  30. (18)
  31. (72)
  32. (27)
  33. (65)
  34. (32)
  35. (10)
  36. (5)
  37. (6)
  38. (5)
  39. (309)
  40. (11)
  41. (6)
  42. (12)
  43. (8)
  44. (18)
  45. (6)
  46. (15)
  47. (114)
  48. (18)
  49. (6)
  50. (8)
  51. (66)
  52. (16)
  53. (6)
  54. (17)
  55. (5)
  56. (26)
  57. (7)
  58. (27)
  59. (7)
  60. (12)
  61. (11)
  62. (118)
  63. (31)
  64. (5)
  65. (18)
  66. (22)
  67. (9)
  68. (6)
  69. (8)
  70. (41)
  71. (10)
  72. (6)
  73. (12)
  74. (8)
  75. (5)

Друзья