Сделано в Раскрутке

Архив эхоконференции RU.PHP

- RU.PHP ------------------------------------------------------------- RU.PHP -
 Msg  : #5032 [1078]
 От   : FAQ AutoPoster                2:5012/8.13         06 декабря 03, 10:30
 Кому : All                                               10 декабря 03, 21:42
 Тема : FAQ [2/5]
-------------------------------------------------------------------------------
>>1.10. Можно ли использовать PHP как замену Perl'а и других интерпретируемых
>>языков при создании shell-скриптов? 
Можно. И нужно W;) Сокращенный перевод официальной документации: 

Выполнение PHP-скриптов из командной строки обычно применяется в тех случаях,
когда вам нужно протестировать настройку PHP или же если вы собираетесь
использовать возможности PHP в других целях, нежели создание веб-скриптов. ... 
Обратите внимание, что вы 

php -q test.php > test.html 

Вы можете выполнять PHP-скрипты в командной строке только в том случае, если
ваш PHP собран как самостоятельное приложение (stand-alone executable). ... 

PHP в качестве самостоятельного приложения может быть использован для запуска
PHP-скриптов в абсолютной независимости от web-сервера. Если вы работаете в
*nix-системе, вам нужно будет добавить специальную строку в начало каждого
скрипта (чтобы система смо
Hа win-платформах вы можете ассоциировать .php-файлы с приложением php.exe с
помощью двойного щелчка кнопкой мыши в Проводнике (Explorer) или же создавать
пакетные (.bat) файлы для выполнения PHP-скриптов. ... 

Пример (script.php): 

#!/usr/bin/php -q 
# -q используется для запрещения вывода HTTP-заголовков 

|<--help|-help|-h>\n"; 
    } else { 
        echo $argv[1]; 
    } 
?> 

В вышеприведенный скрипт была добавлена специальная первая строка, которая
указывает на то, что этот файл должен быть запущен с помощью PHP без вывода
HTTP-заголовков. При создании скриптов, предназначаемых для выполнения в
командной строке, вы можете исп

Пример пакетного (.bat) файла для запуска скрипта на win-платформах
(script.bat): 

@c:\php\php.exe -q script.php %1 %2 %3 %4

> ivan kovalenko, 2:5057/53

>>1.11. Пpи pаботе c сессиями, вываливаетcя cообщение в бpаузеp: Warning: 
>>open(/tmp\sess_???, O_RDWR) failed: m (2) in script.php on line X? 
В php.ini надо прописать путь до места, куда будут сохраняться сессии, по
умолчанию /tmp, что годится для юникса: 
session.save_path = c:\tmp 

> trent

>>1.12. Как сделать, что бы вывод из моего скрипта сразу показывался у 
>>пользователя в браузере? 

Использовать функцию flush(). В связи с особенностями вывода некоторых
браузеров, в том числе IE и Opera 6 рекомендуется послать 256 байт в начале
страницы, вот тестовый скрипт: 

 

Результаты работы: Столбик из значений i, появляющихся через 5 секунд.

> Andy Ice, 2:5012/8.13

>> 1.13. Как измерить время с точностью до микpосекунды? 
Вот тебе классик для измерения времени... 

start = $t[sec] * 1000000.0 + $t[usec]; 
    } 

    function stop() { 
        $t = gettimeofday(); 
        $this->stop = $t[sec] * 1000000.0 + $t[usec]; 
    } 

    function elapsed() { 
        return ($this->stop - $this->start) / 1000000.0; 
    } 
}; ?> 

юзать будешь так: 
 
в нужном месте делаешь 
start(); ?> 
там, где надо закончить отсчет так: 
stop(); ?> 

ну и в где надо 
elapsed(); ?> 

> Andrey N. Demushkin, drew(a)adx.cjb.net

>>1.14. Как передать параметры из формы с множественным значением (select 
>>multiple, значение checkbox'ов и т.д)? 

Для checkbox'a: 
 
 
для multiple: 
 
данные из формы придут, как массив $id со значениями value. 

> trent

>>1.15. Как бы мне получить вчеpашнюю дату? 

  print date("d/m/Y", 
     mktime(0,0,0,intval(date('n')),intval(date('j'))-1,intval(date('Y')))); 

> Kirill Kustov <2:5045/67>

 

> Dmitrik Kolesnikov, 2:463/3141.95

 

> Pavel P, vprin@indiainfo.com

>>1.16. Расскажите, чем отличается вызов функции с собакой от вызова без 
>>собаки? 
Если функция вызывается с собакой, то сообщение об ошибке подавляется.

> Пальчуковский Евгений Викторович

>>1.17. Функции strtoupper() strtolower() не работают или работают неправильно.
>>
Попробуйте использовать такую фукцию: 
strtoupper() 
 

strtolower() 
 

> trent

>>1.18. Какие специфичные функции не работают под IIS? 
Привожу выбранные из маны, такой какой она была на момент 4.1.0 
По смыслу это список функций которыми не смогут пользоваться 
в связке IIS+PHP. 

apache-specific: 
------------------------------------- 
apache_lookup_uri() 
apache_note() 
ascii2ebcdic() 
ebcdic2ascii() 
getallheaders() 
virtual() 
apache_child_terminate() 
apache_setenv() 

not implemented on Windows platforms: 
------------------------------------- 
acosh() 
asinh() 
atanh() 
chgrp() 
chmod() 
chown() 
fileinode() 
fileowner() 
getmyinode() 
is_link() 
link() 
linkinfo() 
readlink() 
sem_get() 
sem_acquire() 
sem_release() 
shm_attach() 
shm_detach() 
shm_remove() 
shm_put_var() 
shm_get_var() 
shm_remove_var() 
symlink() 
umask() 
usleep() 

> SeazoN aka Sergey Sazonenkov, 2:469/142.999

>>1.19. Имеется форма, где вносится текст с переносом строк, при выводе 
>>текста на страницу строки не переносятся, что делать? 
Дело в том, что при выводе страницы в общем случае игнорируются переносы 
строк, что бы начать с новой строки нужно вставить тег 
или пару

по необходимости. Смотри функцию nl2br. > Andy Ice, 2:5012/8.13 >>1.20. Как передать параметры скрипту, если он выполняется из командной >>строки? php.exe file.php "&pt=1" > Alexey Kolesnichenko >>1.21. Как выполнять свой скрипт с некоторой периодичностью (например, >>каждый час)? Выполнять действия с какой-то периодичность может только программа которая работает все время. Обычно это операционка. Твой РHР-скрипт запускается тогда, когда обращаются к web-серверу (Apache) и живет обычно не больше чем time_limit. Как ты себе представляешь, что бы он делал что-то с периодичностью раз в час? Если уж сильно надо на РHР - запускай php.exe script.php -q >> out.log из at на HТ или из cron'а в юниксах. > Alexey Sviridov, 2:5002/27.800 ----------------------------------------------------------------------------- >>>2. Установка ----------------------------------------------------------------------------- >>2.1. Установка PHP в системе Windows. 1. Б броузере набрать http://www.php.net и кликнуть на ссылку Download 2. Перепишите на свой комп файл PHP, подходящий для системы Windows (php3, php4 или и тот, и другой), щелкнув на нем. Hа компах с системой Windows легко устанавливаются и PHP3, и PHP4, и даже обе эти версии. 3. Извлеките все файлы из архива во временную папку. 4. Скопируйте все файлы .dll из временной папки, в которую вы поместили файлы PHP, в папку общесистемных файлов Windows. В системе Windows 95/98 - это папка *:\Windows\System. В Windows NT - *:\Winnt\System. 5. Переименуйте файл php3.ini-dist (или php.ini-dist, если вы используете PHP4) во временном каталоге в php.ini и скопируйте его в каталог Windows (*:\Windows или *:\Winnt, в зависимости от версии системы). 6. Создайте папку на диске C: с именем php3 или php4 в зависимости от версии. 7. Скопируйте файл php.exe в созданную папку php. 8. Откройте файл httpd.conf, который находится в каталоге *:\Program Files\Apache Group\Apache\conf.Для редактирование этого файла можно использовать любой текстовый редактор, но обязательно сохраните данный файл в виде простого текста, а не в формате .doc или в другом. 9. Добавьте следующие строки в конец файла httpd.conf, если вы используете PHP4: ScriptAlias /php4/ "C:/php4/" AddType application/x-httpd-php .php Action application/x-httpd-php "/php4/php.exe" 10. Добавьте следующие строки в конец файла httpd.conf, если вы используете PHP3: ScriptAlias /php3/ "C:/php3/" AddType application/x-httpd-php3 .php3 Action application/x-httpd-php3 "/php4/php3.exe" 11. Если вы устанавливаете только PHP4, добавьте так же следующую строку AddType application/x-httpd-php .php3 12. Сохраните файл. 13. Перезапустите Web-сервер Apache, щелкнув на соответствующих пиктограммах его папки. В результате Apache еще раз прочитае файл httpd.conf и обнаружит, что добавлены функциональные средства PHP. 14. Создайте в папке *:\Program Files\Apache Group\Apache\htdocs сценарий PHP, состоящий из одной строки. Для его написания можно использовать любой текстовый редактор. Помните, что данный сценарий должен иметь расширение .php. Присвойте файлу сценария имя info.php. Вот эта строка: 15. Откройте броузер и направьте его по адресу http://localhost/info.php Должна появиться страница PHP. Помните, что реализация сценария на локальном компьютере зависит от двух условий: во-первых, надо, чтобы работал Apache, и во-вторых, файл сценария должен находиться в подпапке htdocs каталога, в котором установлен Apache. Для вызова сценария и его последующего выполнения достаточно направить броузер по адресу http://localhost/my_php_script.php > Dmitry Eroshin, 2:5037/31.13 --- GMT v1.04beta5 * Origin: Two Beer Or Not Two Beer? (2:5012/8.13)

При переходе по баннеру - скидка 25% на первый месяц обслуживания!
Самый простой способ получить ROOT-доступ
При переходе по баннеру - скидка 25% на первый месяц обслуживания!