Вопрос № 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');
Отвечает: 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 Комментарий оценки: Ответ не по существу. Сказано же - БЕЗ МАССИВОВ.