Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Открыть новую тему     Написать ответ в эту тему

ManderX



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
поставил PHP и APACHE.  
написал index.html:  
<html><body> <form action=test.php> Name: <input type=text name="name"><br>  
Year: <input type=text name="year"><br> <input type=submit value="ГОТОВО"> </form>  
</body></html>  
И test.php в том же каталоге:  
echo "$name i $year";  
выполняю, говорит, что переменыее undefined  
в чём трабла??? и ещё гдя взять extensions???




Цитата:
 
Внимание!
 
Эта тема будет закрыта, поэтому по конкретным вопросам по PHP
создаём новые темы, либо используем существующие (один вопрос — одна тема)

Кто-нибудь пытался что-то в этих сeмидесяти страницах найти?
 
В этой теме только отвечаем на оставшиеся без ответа вопросы...

 
 

Всего записей: 84 | Зарегистр. 11-06-2002 | Отправлено: 05:36 11-06-2002 | Исправлено: Svarga, 04:17 23-07-2003
directx



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
<?    
global $_SERVER;  
$doc_root=$_SERVER['DOCUMENT_ROOT'];  
$file=$_SERVER['QUERY_STRING'];  
$file=rtrim($file,"/");  
if (!empty($file))  
{  
if (strlen($file)<10){include($doc_root."/".$file.".html");}  
}  
?>  

 
Это будет site.ru/index.php?что-то  
('что-то'='QUERY_STRING')
 
Как сделать site.ru/index.php?abc=что-то ???
('что-то'='abc')? ('что-то'='$abc')? В любом случае не получается

Всего записей: 799 | Зарегистр. 03-11-2001 | Отправлено: 22:24 24-02-2003
Advanced_Guest



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
directx
строка: index.php?abc=что-то
 
в скрипте: $_GET['abc']= что-то.
 
PS: запусти phpinfo();  
она выведет тебе и все полученные значения.

----------
The Abyss - UO, LA2, Ботва, BSFG

Всего записей: 2446 | Зарегистр. 14-04-2002 | Отправлено: 22:51 24-02-2003
directx



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Advanced_Guest

Цитата:
в скрипте: $_GET['abc']= что-то.  

 
Куда тут его запихнуть?
 
<?    
global $_SERVER;  
$doc_root=$_SERVER['DOCUMENT_ROOT'];  
$file=$_SERVER[$_GET['abc']];  
$file=rtrim($file,"/");  
if (!empty($file))  
{  
if (strlen($file)<10){include($doc_root."/".$file.".html");}  
}  
?>  

Всего записей: 799 | Зарегистр. 03-11-2001 | Отправлено: 01:19 25-02-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
directx
Нет.  
$_GET - тоже глобальная переменная;
её надо сначала в global запихать.

Код:
 
global $_SERVER,$_GET;
 

и отдельно разбирать $_GET[переменная];
 
А вообще,  напиши, что должно получиться, я чего-то потерял нить
 
P.S.  
Вставь в начале скрипта
Код:
phpinfo();

Там будет все. Слева названия встроенных переменных, справа их значения.

----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 09:10 25-02-2003
Advanced_Guest



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASteel
а зачем писать global $_SERVER,$_GET;
если это  

Цитата:
$_GET - тоже глобальная переменная;  

?
 
ведь массив $_SERVER и $_GET и так и так в любой функции одинаковый ?

----------
The Abyss - UO, LA2, Ботва, BSFG

Всего записей: 2446 | Зарегистр. 14-04-2002 | Отправлено: 10:28 25-02-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
 
In PHP global variables must be declared global inside a function if they are going to be used in that function.
 

 

Цитата:
 
В PHP глобальные переменные должны быть объявлены внутри функции если они будут там использоваться.  
 

 
В отличии от C.
Они также могут быть доступны в функции, если включена переменная register_globals, но она в скором времени будет всегда выключена.
И кроме того, по моему, в режиме php_safe_mode она тоже выключена. но точно не скажу.  


----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 10:48 25-02-2003
directx



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASteel

Цитата:
А вообще,  напиши, что должно получиться

Должно получится: я вызываю site.ru/index.php?12345 - в index.php вставляется содержимое 12345.html

Всего записей: 799 | Зарегистр. 03-11-2001 | Отправлено: 19:10 25-02-2003
Advanced_Guest



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ASteel
вау. незнал
 
global $life, $lanfuage['russian'], $posting_ability;
 
будем писать правильно

----------
The Abyss - UO, LA2, Ботва, BSFG

Всего записей: 2446 | Зарегистр. 14-04-2002 | Отправлено: 20:26 25-02-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
directx
Ну так то, что я писал ранее должно срабатывать, а если тебе надо, чтобы
Код:
site.ru/index.php?file=12345

так срабатывало, то:

Код:
 
 <?    
global $_SERVER;  
$doc_root=$_SERVER['DOCUMENT_ROOT'];  
 
$file=$_GET['abc'];
 
$file=rtrim($file,"/");  
if (!empty($file))  
{  
if (strlen($file)<10){include($doc_root."/".$file.".html");}  
}  
?>  
 


----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 20:29 25-02-2003
catbegemot



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос по PHP и regular expressions
 
Есть длинная строка в переменной $var
Необходимо узнать, есть ли в этой строке подстроки определенного вида и если есть - вывести их в отдельный текстовый файл (каждая подстрока на новой строке). Разумеется, подстрок может быть много
 
Подстроки определяются при помощи regular expression (а есть другие варианты увидеть например слово в определенном падеже или конструкцию типа URL или e-mail?).
 
Вопрос - как это правильно сделать на PHP?
Вопрос - где можно подсмотреть как правильно построить reg.expression?
 
Заранее спасибо

Всего записей: 654 | Зарегистр. 09-12-2001 | Отправлено: 23:35 25-02-2003 | Исправлено: catbegemot, 23:41 25-02-2003
itaiita



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросы.
 - Как можно оценить скорость выполнения скрипта на PHP?
 - Где можно найти материалы по оптимизации кода для более быстрого его выполнения?
 - Видел  на страницу выводится сообщение типа "эта страница сгенерированна за 0,1231 сек".  я так понимаю, что вначале выполнения скрипта берется время, по окончанию выполнения снова берется время и выводится разница.
так вот, искал в функции Date() как получить время в милисекундах, нашел только в секундах. отсюда вопрос - как получить время в милисекундах?
спасибо.
 

Всего записей: 77 | Зарегистр. 10-09-2002 | Отправлено: 02:31 26-02-2003 | Исправлено: itaiita, 02:33 26-02-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
itaiita
 
It will determine the time taken for a php script to execute correct to 0.000000000000001 seconds.
<!-- put this at the top of the page -->  
<?php  
   $mtime = microtime();  
   $mtime = explode(" ",$mtime);  
   $mtime = $mtime[1] + $mtime[0];  
   $starttime = $mtime;  
;?>  
 
<!-- put other code and html in here -->  
 
 
<!-- put this code at the bottom of the page -->  
<?php  
   $mtime = microtime();  
   $mtime = explode(" ",$mtime);  
   $mtime = $mtime[1] + $mtime[0];  
   $endtime = $mtime;  
   $totaltime = ($endtime - $starttime);  
   echo "This page was created in ".$totaltime." seconds";  
;?>

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:38 26-02-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
itaiita
1)
Установи ключ max_execution_time в php.ini на большее время (в секундах);
и просто запусти в теле скрипта цикл на несколько тысяч итераций. Подсчитай суммарное время выполнения скрипта. Потом раздели на количество циклов. Получишь среднее время выполнения скрипта.
 
2)
Посмотри на сайте php.spb.ru. Там есть кое-какая информация по этому вопросу. Кроме того, там можешь найти модуль оценки скорости выполнения скрипта на PHP.
 
3)
В начале скрипта:
 

Код:
 
function getmicrotime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
 
$time_start = getmicrotime();
 

 
В самом конце скрипта:

Код:
 
//Подсчитываем и выводим время работы скрипта
$time_end = getmicrotime();
$time = $time_end - $time_start;
$time=$time*100;
printf ("<!--Script time: %01.2f mseconds-->",$time);
 


----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 02:52 26-02-2003
itaiita



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
спасибо всем.
ASteel

Цитата:
Установи ключ max_execution_time в php.ini на большее время (в секундах);  
и просто запусти в теле скрипта цикл на несколько тысяч итераций. Подсчитай суммарное время выполнения скрипта. Потом раздели на количество циклов. Получишь среднее время выполнения скрипта.  

чего то я всетаки не понял.. помоему так я получу время выполнения  одного повторения цикла...
max_execution_time определяет сколько по времени максимально может выполняться скрипт?
итерация - это что? повторение?

Всего записей: 77 | Зарегистр. 10-09-2002 | Отправлено: 05:47 26-02-2003
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
1)  
Установи ключ max_execution_time в php.ini на большее время (в секундах);  
и просто запусти в теле скрипта цикл на несколько тысяч итераций. Подсчитай суммарное время выполнения скрипта. Потом раздели на количество циклов. Получишь среднее время выполнения скрипта.  

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

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 05:51 26-02-2003
catbegemot



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой ламерский вопрос - как запускать PHP программы из командной строки? Результат работы моей программы - текстовый файл, браузер как бы даже и не нужен. Просто чтобы не тянуть лишние ресурсы из компа?

Всего записей: 654 | Зарегистр. 09-12-2001 | Отправлено: 17:57 26-02-2003
Slippery



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
catbegemot
Смотря в какой ОС
в Виндах так:  

Цитата:
D:\>c:\php\php.exe  myScript.php

т.е. путь к РНР экзешнику а потом путь к скрипту
в LINUX :
как любой исполнимый файл только в сам скрипт допиши путь к РНР

Цитата:
#!/usr/local/bin/php -q
<?php

 
Подробно смотри тут http://www.php.net/manual/en/features.commandline.php

----------
... - говорите, говорите, я всегда зеваю, когда мне интересно!
---
халявный генератор анимации на мобилу

Всего записей: 326 | Зарегистр. 31-10-2002 | Отправлено: 18:10 26-02-2003
catbegemot



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо большое. Буду разбираться.

Всего записей: 654 | Зарегистр. 09-12-2001 | Отправлено: 20:37 26-02-2003
ASteel



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
itaiita
Да, итерация - повторение.
max_execution_time - время, отведенное на выполнение. Если скрипт не уложился его убивают.
 

Цитата:
чего то я всетаки не понял.. помоему так я получу время выполнения  одного повторения цикла...

Например, можно сделать так. У тебя есть какая-то функция, время работы которой надо посчитать. Берешь начальное время. Делаешь цикл, например:

Код:
 for ($i=0;$i<10000;$i++)
{
Вызов функции();
}
 

 
и в конце скрипта берешь конечное время.
вот тебе время работы функции * 10000.
 
Cheery
Естественно! Но примерную оценку можно получить.
И с большой степенью точности.
Точную оценку в принципе невозможно получить. т.к. ты не в состоянии контролировать, например кэш процессора, или добавлять/вычитать время, потраченное на обращение к файлу подкачки.
И, если уж на то пошло, то необходимо еще и весь вывод в кэш кидать, чтобы время не тратилось на IO операции.

----------
С сегодняшнего дня прошу считать меня растаможенным (C) Splin

Всего записей: 310 | Зарегистр. 29-01-2002 | Отправлено: 10:11 27-02-2003
catbegemot



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ламерский вопрос (опять!)
 
Где лежат данные, которые форма отдает скрипту? То есть в какой переменной или где?
Ссылка на FAQ и/или доки (+примеры!!!) по этому вопросу отчаянно приветствуются.

Всего записей: 654 | Зарегистр. 09-12-2001 | Отправлено: 20:34 27-02-2003 | Исправлено: catbegemot, 20:35 27-02-2003
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2025

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru