RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 396
от 11.07.2006, 23:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 317, Экспертов: 41
В номере:Вопросов: 5, Ответов: 17


Вопрос № 48348: Здравствуйте, у меня на компьютере не открывается документ когда в него включен еще один документ, все в php. В чем дело? Если для поддержки РНР нужно дополнительную программу то скажите где ее можно скачать?...
Вопрос № 48368: Здравствуйте, уважаемые эксперты! Подскажите пожалуйста где можно взять информацию по работе с каталогами и файлами в PHP? Конкретно нужно: 1. Проверка на существование каталога. 2. Создание каталога....
Вопрос № 48382: Уважаемы спецы! Короче, задача такова: Есть имя функции в переменной. Как вызвать эту функцию? Возможно ли в PHP версии 4.3 использовать обращаться к функциям таким образом: --- $function_name='get_html'; print...
Вопрос № 48390: Последний вопрос: я создал новую папку(news), в отй папке размещён файл(fail.php), само меню у меня в главной паке, какой мне прописать адрес в fail.php этот код: <?php include('???'); ?>...
Вопрос № 48394: Здравствуйте, дорогие экспнрты! вопрос не по теме.Когда я в брузереIE нажимаю на вид , а потом в виде HTML то не получаю скрипта .txt, а появляется окошко с содержимым диска С. Как получить скрипт в виде HTML? Спасибо. Rvax. ...

Вопрос № 48.348
Здравствуйте, у меня на компьютере не открывается документ когда в него включен еще один документ, все в php. В чем дело? Если для поддержки РНР нужно дополнительную программу то скажите где ее можно скачать?
Отправлен: 06.07.2006, 13:29
Вопрос задал: ataman (статус: 1-ый класс)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Jeka911
Здравствуйте, ataman!

Полный комплект для запуска:
# Apache
# PHP4
# MySQL

Качаем здесь: http://www.denwer.ru/dis/Base/
---------
Шахтер - чемпион!!!
Ответ отправил: Jeka911 (статус: 6-ой класс)
Ответ отправлен: 06.07.2006, 15:29


Вопрос № 48.368
Здравствуйте, уважаемые эксперты!
Подскажите пожалуйста где можно взять информацию по работе с каталогами и файлами в PHP? Конкретно нужно:
1. Проверка на существование каталога.
2. Создание каталога.
Отправлен: 06.07.2006, 16:10
Вопрос задал: Кузнецов Сергей Валентинович (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Кузнецов Сергей Валентинович!
Здесь можно: http://ru.php.net/manual/ru/print/ref.filesystem.php
Ответ отправил: PVS (статус: 7-ой класс)
Ответ отправлен: 06.07.2006, 16:17
Оценка за ответ: 5

Отвечает: Physicist
Здравствуйте, Кузнецов Сергей Валентинович!

Скачайте PHP Manual со страницы http://www.php.net/docs.php
Ищите нужные вам функции в разделе
Справочник функций-->Функции для работы с файловой системой

В частности,
bool is_dir ( string filename ) -- Определает, является ли файл директорией
bool mkdir ( string pathname [, int mode [, bool recursive [, resource context]]] ) -- Создаёт директорию
Ответ отправил: Physicist (статус: 3-ий класс)
Ответ отправлен: 06.07.2006, 16:28
Оценка за ответ: 5

Отвечает: Jeka911
Здравствуйте, Кузнецов Сергей Валентинович!

mkdir -- Makes directory
Description
int mkdir ( string pathname, int mode)

mkdir ("/path/to/my/dir", 0700);

is_dir -- Tells whether the filename is a directory
Description
bool is_dir ( string filename)
---------
Шахтер - чемпион!!!
Ответ отправил: Jeka911 (статус: 6-ой класс)
Ответ отправлен: 06.07.2006, 16:29
Оценка за ответ: 5

Отвечает: Ballon
Здравствуйте, Кузнецов Сергей Валентинович!

Фунция is_dir(filename);
Возвращает TRUE, если filename существует и является директорией (каталогом). Если filename это относительное имя, оно проверяется относительно текущей рабочей директории.

mkdir(имя директории);- создает директорию.
---------
Хочу все знать...
Ответ отправил: Ballon (статус: 7-ой класс)
Ответ отправлен: 06.07.2006, 17:17
Оценка за ответ: 5


Вопрос № 48.382
Уважаемы спецы!

Короче, задача такова:
Есть имя функции в переменной. Как вызвать эту функцию?

Возможно ли в PHP версии 4.3 использовать обращаться к функциям таким образом:
---
$function_name='get_html';

print $function_name(); ///вот так??????

function get_html() {
return true;
}
--
результат : Parse error: parse error

что не так?
Отправлен: 06.07.2006, 17:33
Вопрос задал: Иваненко Виктор Анатольевич (статус: 9-ый класс)
Всего ответов: 7
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: PVS
Здравствуйте, Иваненко Виктор Анатольевич!
Не встречал никогда такого. Но если Вы сохраните в файл строку:
$c='<?print '.$function_name.'()?>';
а потом подключите этот файл через include то все должно сработать
Ответ отправил: PVS (статус: 7-ой класс)
Ответ отправлен: 06.07.2006, 17:44
Оценка за ответ: 3
Комментарий оценки:
Мдяяяя, до такого додуматься....
Даже, если это работает, очень своеобразный стиль...

Отвечает: Straight
Здравствуйте, Иваненко Виктор Анатольевич!
Все так. Должно работать. У меня, правда, нет под рукой 4.3, но на 4.4.2 идет на ура.
Приведите плз весь скрипт и все сообщение об ошибке.
Ответ отправил: Straight (статус: Студент)
Ответ отправлен: 06.07.2006, 17:45

Отвечает: Santana
Здравствуйте, Иваненко Виктор Анатольевич!

eval
(unknown)

eval - вычисляет строку как PHP-код.

Описание
mixed eval (string code_str)

eval() вычисляет строку, заданную в code_str, как код PHP. Помимо всего прочего, это может оказаться полезным для хранения кода в текстовом поле БД для последующего исполнения.

При использовании eval() необходимо помнить о нескольких вещах. Запомните, что передаваемая строка обязана быть правильным кодом PHP, включая окончание операторов точкой с запятой, чтобы разборщик не отвалил на строке после eval(), и правильное escap-ируйте в code_str.

Также помните, что значения, заданные переменным в eval(), останутся действовать затем и в основном скрипте.

Оператор return завершит вычисление строки немедленно. В PHP 4 eval() возвращает FALSE, если не вызвана return() в вычисляемом коде, и в этом случае возвращается значение, передаваемое в return(). В PHP 3 eval() не возвращает значения.

Пример 1. eval() - простое объединение текста
<?php
$string = 'cup';
$name = 'coffee';
$str = 'This is a $string with my $name in it.<br>';
echo $str;
eval ("$str = "$str";");
echo $str;
?>


Этот пример выведет:This is a $string with my $name in it.
This is a cup with my coffee in it.



Ответ отправил: Santana (статус: 3-ий класс)
Ответ отправлен: 06.07.2006, 17:51
Оценка за ответ: 3
Комментарий оценки:
Не то совсем.

Отвечает: Physicist
Здравствуйте, Иваненко Виктор Анатольевич!

"Напрямую" Вы не можете функцию таким образом в print, echo и т.д. Но вы можете поступить, например, так:
$temp=$function_name();
print $temp;
Ответ отправил: Physicist (статус: 3-ий класс)
Ответ отправлен: 06.07.2006, 17:56

Отвечает: Madproger
Здравствуйте, Иваненко Виктор Анатольевич!

Не знаю что вы там намутили
но вот это отлично работает

$somemm = "print_r";
$somemm($_POST);


---------
И будет вам счАстиЕ!
Ответ отправил: Madproger (статус: 8-ой класс)
Ответ отправлен: 06.07.2006, 18:02
Оценка за ответ: 2

Отвечает: Cimus
Здравствуйте, Иваненко Виктор Анатольевич!
Данный метод должен работать, правда у меня стоит php 5 версии.
Можно ещё сделать следующим образом -

function summ( $a, $b, $c )
{
return ($a + $b + $c );
}

$function_name='summ';

print call_user_func($function_name,1,2,3);

Тут используеться функция call_user_func() которая принимает имя пользовательской функции, за которой следуют аргументы для этой функции.
Функцию call_user_func() можно использовать длая вызова метода или обьекта. Для этого следует передать в качестве аргумента функции массив. Первым элементом которого должно быть имя класса или обьекта, вторым элементом - имя метода.
пример в приложении.

Приложение:

---------
Достичь можно любых высот !

Ответ отправил: Cimus (статус: 4-ый класс)
Ответ отправлен: 06.07.2006, 18:37
Оценка за ответ: 5

Отвечает: Mark_by
Здравствуйте, Иваненко Виктор Анатольевич!
В принципе всё верно, но только функция должна объявлятся ещё до её вызова (см. приложение).

Приложение:

---------
Тысячи путей ведут к заблуждению, к истине только один. (Ж. Руссо)

Ответ отправил: Mark_by (статус: 1-ый класс)
Ответ отправлен: 11.07.2006, 09:40


Вопрос № 48.390
Последний вопрос: я создал новую папку(news), в отй папке размещён файл(fail.php), само меню у меня в главной паке, какой мне прописать адрес в fail.php этот код: <?php include('???'); ?>
Отправлен: 06.07.2006, 19:45
Вопрос задал: ataman (статус: 1-ый класс)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 3)

Отвечает: Physicist
Здравствуйте, ataman!

Пропишите
include('../menu.php');
(menu.php замени на свой файл)
Ответ отправил: Physicist (статус: 3-ий класс)
Ответ отправлен: 06.07.2006, 19:53

Отвечает: Устинов Сергей Евгеньевич
Здравствуйте, ataman!

Я так понял, что Вам в fail.php нужно отобразить меню? Если так то тогда: '../fail.php'
Двоеточие означает поднятие на одну директорию выше.

Удачи!
---------
Ответы на все вопросы - на сайте www.ya.ru
Ответ отправил: Устинов Сергей Евгеньевич (статус: Студент)
Ответ отправлен: 06.07.2006, 19:53

Отвечает: PVS
Здравствуйте, ataman!
Если запрос идет непосредственно к меню (http://site.addr/menu.php), то путь должен быть news/fail.php, если же меню в свою очередь тоже включается в какие-то скрипты через include, то путь должен быть относительно местонахлждения этих скриптов. Если меню включается из разных скриптов в папках разной вложенности и т.п., то лучше задать абсолютный путь в файловой системе сервера.
Ответ отправил: PVS (статус: 7-ой класс)
Ответ отправлен: 07.07.2006, 09:55


Вопрос № 48.394
Здравствуйте, дорогие экспнрты!
вопрос не по теме.Когда я в брузереIE нажимаю на вид , а потом в виде HTML то не получаю скрипта .txt, а появляется окошко с содержимым диска С.
Как получить скрипт в виде HTML?
Спасибо.
Rvax.
Отправлен: 06.07.2006, 20:06
Вопрос задал: Rvax (статус: Посетитель)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Марк Крейн
Здравствуйте, Rvax!
Это глюк, всё должно работать нормально. Вы всё делаете правильно.
Ответ отправил: Марк Крейн (статус: 8-ой класс)
Ответ отправлен: 06.07.2006, 20:17

Отвечает: Physicist
Здравствуйте, Rvax!

Проверьте ключ реестра
HKEY_LOCAL_MACHINESOFTWAREMicrosoftInternet ExplorerView Source EditorEditor Name
(значение по умолчанию)
Здесь записано, какая программа используется для просмотра исходного HTML текста. Возможно, там указан explorer.exe :-)

Еще, может быть, вам поможет этот материал:
http://www.winguides.com/registry/display.php/1246/
В нем указаны все причины, по которым исходный текст может не отображаться.

Ответ отправил: Physicist (статус: 3-ий класс)
Ответ отправлен: 06.07.2006, 20:32
Оценка за ответ: 4


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.34 от 01.06.2006
Яндекс Rambler's Top100

В избранное