Отправляет email-рассылки с помощью сервиса Sendsay

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

  Все выпуски  

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


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

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

Выпуск № 654
от 06.05.2007, 18:05

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


Вопрос № 84911: привет всем..! пытаюсь настроить парсер но нечего не получается: parser.php --- $xml_file="http://meteoinfo.ru/xml3/export/pay/1/1.xml"; // $xml_file - Путь к xml файлу изменил на свой (регионатьный) $xml=dom...
Вопрос № 84952: Добрый день эксперты. У меня такой вопрос. Есть функция F1, необходимо все переданные ей параметры передать функции F2. Обязательное условие: кол. параметров варьируется и неограниченно. пример: function F1(param1,param2,....,...

Вопрос № 84.911
привет всем..! пытаюсь настроить парсер но нечего не получается:

parser.php
---
$xml_file="http://meteoinfo.ru/xml3/export/pay/1/1.xml";
// $xml_file - Путь к xml файлу изменил на свой (регионатьный)

$xml=domxml_open_file('/home/server.ru/www/forecast.xml');
// $xml - здесь необходимо указать абсолютный путь к файлу

Инструкция по установке - http://www.meteoinfo.ru/xml-tech
Парсер http://www.meteoinfo.ru/files/parser.zip

Вроде все делал по инструкции но при выполнении parser.php скаченный файл forecast.xml не разберается по причине отсутствия в катологе - но приэтом он есть!
Что делать как быть? Уже на десять раз переписывал абсолютный путь но все по прежнему:

Fatal error: Call to undefined function domxml_open_file() in C:WEBServerwwwroot est1parser.php on line 49
т.е. в $xml=domxml_open_file('/home/server.ru/www/forecast.xml');

Как быть?
Спасибо.
Отправлен: 01.05.2007, 08:53
Вопрос задал: Александр DV (статус: Посетитель)
Всего ответов: 1
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: Yadovit
Здравствуйте, Александр!
Call to undefined function domxml_open_file()
Переводится как "Вызов неопределённой функции domxml_open_file()". Похоже вы забыли подключить нужный модуль.
Ответ отправил: Yadovit (статус: 5-ый класс)
Ответ отправлен: 01.05.2007, 09:44


Вопрос № 84.952
Добрый день эксперты.
У меня такой вопрос.
Есть функция F1, необходимо все переданные ей параметры передать
функции F2.
Обязательное условие: кол. параметров варьируется и неограниченно.
пример:
function F1(param1,param2,....,paramN)
{
F2(param1,param2,....,paramN);
}

Так вот вопрос в том: можно ли это сделать без eval() и без того, что бы
все переменные запихнуть в массив, а уж этот массив передавать F2.
Отправлен: 01.05.2007, 13:40
Вопрос задал: Sea (статус: Посетитель)
Всего ответов: 4
Мини-форум вопроса >>> (сообщений: 9)

Отвечает: Ерёмин Андрей
Здравствуйте, Sea!
Функции:
func_num_args() - количество переданных функции параметров.
func_get_args() - список переданных функции параметров;
func_get_arg() - прочитать параметр под порядковым номером, указанным в качестве аргумента.
Дальше, думаю, разберётесь - ничего сложного. Удачи!
---------
Нет правила без исключений. Правило без исключений - исключение из правил.
Ответ отправил: Ерёмин Андрей (статус: Профессор)
Россия, Тула
WWW: Программирование на Delphi. Помощь, советы, обмен опытом.
ICQ: 286837644
----
Ответ отправлен: 01.05.2007, 15:09
Оценка за ответ: 4
Комментарий оценки:
Не люблю ставить плохие оценки, только поэтому ставлю 4.
Хорошо конечно что вы знаете стандартные функции, только вот ответить на поставленный вопрос это мало чем поможет.
Не проблемма передать вообще параметры, а проблемма передать их именно в том виде, в котором указано в вопросе.

Отвечает: Cimus
Здравствуйте, Sea!
Посмотрите приложение, там два варианта решения Вашего вопроса.

Приложение:

---------
трикотаж http://evkrata.ru/

Ответ отправил: Cimus (статус: Студент)
Ответ отправлен: 01.05.2007, 16:03
Оценка за ответ: 4
Комментарий оценки:
Либо читаете не до конца вопросы, либо еще что. Я ж просил без evel и массива.
А func_get_args() возвращает именно массив.
И если F2 должна принимать например 2 пераметра, то эта(№1) реализация вызовет ошибку, т.к. передается всего один параметр - массив.

Отвечает: HookEst
Здравствуйте, Sea!
К неименованным аргументам функции можно обращатся только через
func_num_args(), func_get_args(), func_get_arg() как Вам уже и написали(без массивов никак),
а вызвать другую функцию с теми же параметрами можно используя call_user_func_array()PHP 4 >=4.0.4, PHP 5

например:
function F1(){
$args=func_get_args();
//вызываем F2 с теми же параметрами
call_user_func_array('F2',$args);
}

function F2(){
$args=func_get_args();
echo " вызвана F2(".join($args,',').")";
}

F1('param1',2,3,'param4');

Успехов.
Ответ отправил: HookEst (статус: Студент)
Ответ отправлен: 03.05.2007, 04:49
Оценка за ответ: 3
Комментарий оценки:
Ну вариантов реализаций с массивами и/или eval() множество.
А вопрос был конкретно поставлен - без массивов и eval().
Я полагал, что может есть конструкция какая хитрая, о которой я не знаю.
Достаточно было сказать, что это не возможно.
А массивы не подходят вот почему:
Есть множество различных функций F0...N, а надо сделать такую, чтобы через нее передавать параметры всем другим. Короче что то вроде Адаптера. Так вот не переделывать же мне все эти функции под одну - на худой конец уж лучше использовать evel() в ущерб быстродействию, если конечно вообще применительно к PHP можно говорить о быстродействии.

Отвечает: Шахгусейнов Азиз
Здравствуйте, Sea!

сделайте через массив....
передаете одну переменную массива.......а в массиве чколь угодно значений
---------
Среди людей есть такие, которые говорят: "Мы уверовали в Бога и в Последний день". Однако они суть неверующие.
Ответ отправил: Шахгусейнов Азиз (статус: 3-ий класс)
Ответ отправлен: 03.05.2007, 08:03
Оценка за ответ: 2
Комментарий оценки:
Ответ не по существу.
Сказано же - БЕЗ МАССИВОВ.


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

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

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

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

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


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


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Авторское право: ООО "Мастер-Эксперт Про"
Email: support@rusfaq.ru, тел.: +7 (926) 535-23-31
Хостинг: "Московский хостер"
Поддержка: "Московский дизайнер"
Авторские права | Реклама на портале
Версия системы: 4.52 (beta) от 02.05.2007
Яндекс Rambler's Top100

В избранное