![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: 1 Всего: 3 |
Вобщем есть строка с PHP кодом, нужно ее выполнить...
пробовал так:
но помоему это немного не через то место, да и файл в конце почему-то не удаляется.... как сделать правильно? -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
Используй функцию eval().
|
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| Serkys |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1061 Регистрация: 19.4.2004 Репутация: 4 Всего: 22 |
PARROT, если не секрет, при чём здесь rmdir()? Или я туплю?
|
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
Serkys, может и я уже туплю, ночь, но помоему он пытается удалить директорию.
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: 1 Всего: 3 |
эммм eval() почему-то не покатил, возможно потому, что в строке кроме php кода еще хтмл теги есть....
мне собсна нада открыть один файлик, найти в нем что-то вроде {insert_data_here}, заменить это на содержимое другого файлика, получится страничка с php, теперь ее надо выполнить и отдать юзеру... делаю так:
не работает.... вернее если убрать eval(), и раскоментить закоментированно, то работает, но это немного криво... PARROT, rmdir папку удаляет... ну unlink впринципе должен удалять файл, ну да это не важно, все равно тот способ кривой, потому это вопрос не по теме Это сообщение отредактировал(а) BSOD - 20.2.2007, 23:31 -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
| PARROT |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2339 Регистрация: 5.1.2005 Где: Спб-ЦарьГрад Репутация: 23 Всего: 50 |
BSOD, если папка удаляется, то наверно вместе с файлом?
-------------------- Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим! |
|||
|
||||
| BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: 1 Всего: 3 |
но наверно если файл в папке не один, то удалятся и остальные файлы Это сообщение отредактировал(а) BSOD - 20.2.2007, 23:31 -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
| szz |
|
||||||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
PARROT, удажение тут совершенно не причем. Удажение у него в коде, потому что файл временный записан, который вообще записан быть не должен
Вот как надо:
Добавлено @ 01:03 А вот и вся функция:
А вообще-то это не очень хорошо - выполнять код на бегу. Лучше этого избегать, если есть возмжность. Добавлено @ 01:07
PARROT, а вот и нет! Если там есть хоть один файл - то стирание папки провалится. Это вам не в винде "Удалить папку" кликнуть Чтобы удалить папку, нужно рекурсивно пробежаться по всем вложенным папкам и удалить все-все файлы - только когда папку пуста rmdir сработает Ты ведь сама привела ссылку на ман - там написано "Директория должна быть пустой и должны иметься необходимые для этого права." --------------------
|
||||||||
|
|||||||||
| BSOD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 405 Регистрация: 1.11.2004 Где: Гомель Репутация: 1 Всего: 3 |
Спавибо szz, действительно помогло!
А если не секрет, то почему так работает (не-то до меня немного не дошло)? -------------------- как корабль назовешь - то на нем и напишешь |
|||
|
||||
| szz |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1289 Регистрация: 31.5.2005 Где: Moscow, Jerusalem Репутация: 8 Всего: 33 |
Потому что мы таким образом как бы изменяем область работы php.
в стандартном php файле дефолтная область - текстовая. А для эвала - phpшная. А мы тут дурим eval, меняя его дефолтную область на нужную нам - т.е. текстовую. Надеюсь, понятно объяснил --------------------
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |