взят из конференции fido7.ru.php
--------------------------------------------------------------------------------
1. Общие вопросы
1.1 Что такое PHP?
(перевод документации) "PHP, что означает 'PHP: Hypertext Preprocessor' ('PHP: Предварительный Обработчик Гипертекста'), является внедряемым в HTML языком описания скриптов.
Многое из его синтаксиса было позаимствовано из C, Java и Perl с добавлением некоторых уникальных, специфичных для PHP, особенностей.
Целью создания языка является предоставление web-разработчикам возможности быстрого создания динамически генерируемых страниц."
(ответ ivan kovalenko, 2:5057/53)
--------------------------------------------------------------------------------
1.2 Где взять PHP?
Hа сайте производителя: http://www.php.net/downloads.php
(ответ ivan kovalenko, 2:5057/53)
--------------------------------------------------------------------------------
1.3 Как расшифровывается 'PHP'?
'PHP' - это рекурсивный акроним (аналогия с 'Linux' - 'Linux Is Not UniX') словосочетания 'PHP: Hypertext Preprocessor' ('PHP: Предварительный Обработчик Гипертекста'), что успешно отражает общую идеологию его функционирования.
До версии PHP 3.0 название было несколько иным ('PHP/FI') и расшифровывалось как 'Personal Home Page tools / Forms Interpreter' ('Утилиты для Домашней Страницы / Интерпретатор Форм').
(ответ ivan kovalenko, 2:5057/53)
--------------------------------------------------------------------------------
2. Сетевые дела
2.1 Почему с'апложенные jpeg-файлы не отобpажаются? (бьются?) Веб-сервер - русский Апач
Все дело в том, что русский Апач по умолчанию производит перекодировку файлов.
Так, символ с кодом 0х00 он заменяет на пробел (символ с кодом 0х20).
Для борьбы с этим эффектом нужно добавить в конфигурационный файл Апача httpd.conf следующее:
<Location>
CharsetRecodeMultipartForms Off
</Location>
(ответ Дмиртия Селезнева, 2:5095/6)
--------------------------------------------------------------------------------
2.2 Как опpеделить валидность e-mail?
Функция, предложенная Maxim Matyukhin :
function valid_mail ($email) {
if (eregi("^[_.0-9a-z-]+@([0-9a-z][0-9a-z-.]+).([a-z]{2,3}$)",
$email, $check)) {
if (getmxrr($check[1] . "." . $check[2]) return "Valid";
else return "No MX for " . $check[1] . "." . $check[2];
}
else return "Badly formed address";
}
Есть другой способ, использующий сокеты, предложенный Jon S. Stevens
<?php
/*
By: Jon S. Stevens jon@clearink.com
Copyright 1998-1999 Jon S. Stevens, Clear Ink
This code has all the normal disclaimers.
It is free for any use, just keep the credits intact.
*/
function validateEmail ( $email )
{
global $SERVER_NAME;
$return = array ( false, "" );
list ( $user, $domain ) = split ( "@", $email, 2 );
$tld = $domain;
if ( checkdnsrr ( $tld, "MX" ) )
{
if ( getmxrr ( $tld, $mxhosts, $weight ) )
{
for ( $i = 0; $i < count ( $mxhosts ); $i++ )
{
$fp = fsockopen ( $mxhosts[$i], 25 );
if ( $fp )
{
$s = 0;
$c = 0;
$out = "";
set_socket_blocking ( $fp, false );
do
{
$out = fgets ( $fp, 2500 );
if ( ereg ( "^220", $out ) )
{
$s = 0;
$out = "";
$c++;
}
else if ( ( $c > 0 ) && ( $out == "" ) )
{ break; }
else
{ $s++; }
if ( $s == 9999 ) { break; }
} while ( $out == "" );
set_socket_blocking ( $fp, true );
fputs ( $fp, "HELO $SERVER_NAME " );
$output = fgets ( $fp, 2000 );
FAQ по PHP
Страница: 1
Сообщений 1 страница 1 из 1
Поделиться12006-12-06 16:05:06
Страница: 1