|
|
|
| Вот эта строка вызывает ошибку:
define(WRK_DIR,"C:\Program Files\VB_5\My_Proj\Dopis_Otr\DopOtr_Turs\");
Чем она плоха не понятно. :( | |
|
|
|
|
|
|
|
для: Lisnerpa
(15.09.2005 в 15:44)
| | И даже запись этого постинга в форум привела к ошибке:
Fatal error: Call to undefined function: nl2rb() in /.../softtime/html/forum/addtheme.php on line 219
хотя топик преспокойно появился... | |
|
|
|
|
|
|
|
для: Lisnerpa
(15.09.2005 в 15:47)
| | Да был сбой в работе форума - теперь всё нормализовалось. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2005 в 16:40)
| | И бонба сия упала в обе воронки сразу. :) | |
|
|
|
|
|
|
|
для: Lisnerpa
(15.09.2005 в 15:44)
| | Это одна из причин в действии, за что ругают проектировщиков Microsoft - ну на кой ляд было испльзовать обратный слэш для разделения директорий в путях, если всю жизнь для этого использовался прямой слеш /, а обратный использовался для экранирования спец-символов.
Перепишите так
<?php
define(WRK_DIR, "C:\\Program Files\\VB_5\\My_Proj\\Dopis_Otr\\DopOtr_Turs\\");
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(15.09.2005 в 16:39)
| | Всю жизнь чего/кого ?
И никто не запрещает использовать / в путях...
<?php
define(WRK_DIR, "C:/Program Files/VB_5/My_Proj/Dopis_Otr/DopOtr_Turs/");
?>
|
| |
|
|
|
|
|
|
|
для: isset
(15.09.2005 в 17:36)
| | Да, хорошо что можно использовать прямой слэш, хотя вообще рекомендуется использовать обратный \ | |
|
|
|
|
|
|
|
для: cheops
(15.09.2005 в 23:25)
| | Почему (рекомендуется)? | |
|
|
|
|
|
|
|
для: Евгений Петров
(15.09.2005 в 23:34)
| | Не знаю... может перестраховка от судебных тяжб с владельцами UNIX-систем, а может просто чёрт дёрнул кого-нибудь так и испльзуется \ | |
|
|
|
|
|
|
|
для: cheops
(16.09.2005 в 00:59)
| | Да за что за что а за слеши их так засудят, что мало не покажется... :) | |
|
|
|
|
|
|
|
для: cheops
(15.09.2005 в 23:25)
| | И кем (точнее где)? | |
|
|
|
|
|
|
|
для: isset
(16.09.2005 в 00:00)
| | Microsoft, кнгиги в которых я это впервые увидел (по DOS) я сейчас уже не подниму, но при работе над нашими книгами - редакторы упорно исправялют / на \ - а они не одну сотню книг отредактировали и знают, как надо, а как не надо... при описании конфигурационных файлов приходится настаивать. Да вы откройте "Moй компьютер" или "Проводник" - и сами увидите это безобразие... Это у них стандарт де-факто. | |
|
|
|
|
|
|
|
для: cheops
(16.09.2005 в 00:58)
| | Надо бы эту тему разрулить...
Даже если так, скорее всего приложение работать будет под unix...
Например в мануале уже нашел:
Замечание: Помните, что при указании путей в конфигурационных файлах Apache под Windows, все обратные слэши, например c:\directory\file.ext должны быть изменены на прямые: c:/directory/file.ext.
.....
На платформах Windows в качестве разделителей имен директорий используются оба слэша (прямой / и обратный \). В других операционных системах разделителем служит прямой слэш (/).
|
Да и в примерах используется прямой слэш | |
|
|
|
|
|
|
|
для: isset
(16.09.2005 в 01:13)
| | - | |
|
|
|
|
|
|
|
для: cheops
(16.09.2005 в 01:30)
| | Не понимаю почему рекомендуется. Программист должен знать все о путях, это основы и с этим ему обязательно придется столкнуться. Не думаю что удобнее смотрится запись "c:\\www\\files\\", чем "c:/www/files/"
Ну ладно, оффтоп получается, будем считать что ваши редакторы более правы, чем пхп-мануал (т.к. он для unix писался более) ... | |
|
|
|
|
|
|
|
для: isset
(16.09.2005 в 01:37)
| | Про то и речь... однако при создании Windows программы вы будете вынуждены использовать первый вариант - вот откройте в IE (Файл - Открыть) любой локальный html-файл - смотрите, что в адресной строке и в названии... чтобы не быть белой вороной, волей не волей приходится использовать обратные слэши. Да они и сами-то навреное рады были бы сейчас на прямой заменить, но весь код разом уже не передлаешь... | |
|
|
|
|
|
|
|
для: isset
(16.09.2005 в 01:13)
| | Ну да... это же UNIX-оды писали для пользователей Windows - все обратные слеши (\) в портированных под Windows программах лучше заменять на прямые, так как Windows всё-равно, а программам нет. Прямой слэш испокон веку использовался в UNIX для разделения, так как Интернет покоится на UNIX, разработчикам Windows всё равно пришлось реализовывать и этот вариант (хотя и по сей день испльзуется \)... В UNIX для разделения путей испльзуется строго прямой слеш /, а обратный (\) - для экранирования. | |
|
|
|
|
|
|
|
для: Lisnerpa
(15.09.2005 в 15:44)
| | Спасибо за ответы и за обсуждение.
в итоге получается, что ошибки не вызывают след. записи указанной строки:
define(WRK_DIR,"C:\Program Files\VB_5\My_Proj\Dopis_Otr\DopOtr_Turs");
define(WRK_DIR, "C:/Program Files/VB_5/My_Proj/Dopis_Otr/DopOtr_Turs/");
define(WRK_DIR, "C:\\Program Files\\VB_5\\My_Proj\\Dopis_Otr\\DopOtr_Turs\\");
То есть ошибку вызвала пара рядом стоящих символов \"
Но...
Какого лешего это вообще произошло?
Я ведь ничего особенного ... только задал константу (прям как товарищ Саахов, "только вошел-да!")
Ну кому какое дело, что за конгломерат символов я там наворотил?
а теперь вот поди выбирай - какая строка задания константы "краше". :) | |
|
|
|
|
|
|
|
для: Lisnerpa
(16.09.2005 в 14:18)
| | Дело в том, чтобы в двойных кавычках указать символ двойных кавычек - его следует экранировать обратным слешем, т.е.
<?php
echo "Выведите фразу \"Hello world\" и будем вам счастье";
?>
|
Выведит фразу
Выведите фразу "Hello world" и будем вам счастье
|
Если двойные кавычки внутри строки не экранировать, то первая встреченная кавычка будет восприниматься как закрывающая. Поэтому когда в конце строки встречается \" PHP-интерпретатор полагает что вы экранировали кавычку и дальше идёт строка - и уж как он дальше будет интерпретировать бог его знает. В любом случае когда он встретит ещё одну открывающую кавычку - он посчитает её закрывающей. Итого, к вашему решению можно добавить ещё одно, невызывающее ошибок
define(WRK_DIR,"C:\Program Files\VB_5\My_Proj\Dopis_Otr\DopOtr_Turs\\");
Но если вы не хотите проблем, всегда используйте
define(WRK_DIR, "C:/Program Files/VB_5/My_Proj/Dopis_Otr/DopOtr_Turs/"); | |
|
|
|
|
|
|
|
для: cheops
(16.09.2005 в 19:17)
| | Теперь все встало на свои места.
и могу Вам сказать. что выбрал именно тот вариант записи, который у Вас написан последним. соответственно и изменять его не буду.
define(WRK_DIR, "C:/Program Files/VB_5/My_Proj/Dopis_Otr/DopOtr_Turs/"); | |
|
|
|