Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Формат POST запроса
 
 автор: Sfinks   (29.12.2004 в 22:50)   письмо автору
 
 

Вот никак не могу разобраться ;-( Поясните пожалуйста?..
Вот фрагмент из описания услуги...
-----------------------------------------------------------------------------------
Формат запроса к сайту при наличии MMS данных в запросе.
MMS запрос с данными к сайту со статусом MMS делается POST-запросом с
Content-Type: multipart/form-data
Рассмотрим последовательность команд:
MASTER MMS CREATE
MASTER MMS SET URL http://domain/path?text=%*%&voc=%voc%&pid=%pid%
MMS обращение к данному сайту с фотографией вида:
MASTER MMS Test + ФОТО
Приведет к формированию запроса вида:
POST /path HTTP/1.0
Date: дата запроса
Host: сервер, осуществляющий запрос
User-Agent: MASTER-MMS
Content-Type: multipart/form-data; boundary="--MMSPART--"
Content-Length: ДлинаТелаЗапроса


----MMSPART--
Content-Disposition: form-data; name="text"
Content-Type: text/plain; charset="windows-1251"
Content-Transfer-Encoding: base64

Test <ems:mms url="mms_0"> (в кодировке 1251, закодированное механизмом BASE64)

----MMSPART--
Content-Disposition: form-data; name="voc"
Content-Type: text/plain; charset="windows-1251"
Content-Transfer-Encoding: base64

Тест <ems:mms url="mms_0"> (в кодировке 1251, закодированное механизмом BASE64)

----MMSPART--
Content-Disposition: form-data; name="pid"
Content-Type: text/plain; charset="windows-1251"
Content-Transfer-Encoding: base64

BASE64 закодированный идентификатор телефона в кодировке 1251

----MMSPART--
Content-Disposition: form-data; name="mms_0"; filename="mms_0"
Content-Type: image/jpeg
Content-Transfer-Encoding: base64

BASE64 закодированные данные ФОТО в формате image/jpeg

----MMSPART----
В приведенном примере следует обратить внимание на конструкцию <ems:mms url="mms_0"> внутри параметров text (полный текст запроса) и voc (текст запроса, преобразованный в русский язык). Данная конструкция описывает размещение MMS-элемента внутри текста запроса. Сам MMS-элемент находится в одном из разделов запроса и имеет name=mms_0 и filename=mms_0.
-----------------------------------------------------------------------------------
Поясните пожалуйста что здесь к чему, и как мне таки получитькартинку и сохранить ее в файл на хостинге?

   
 
 автор: cheops   (29.12.2004 в 22:57)   письмо автору
 
   для: Sfinks   (29.12.2004 в 22:50)
 

А задача какая? Сформировать POST-запрос, яки телефон или просто получиь и прочитать то безобразие, которое телефон присылает?

   
 
 автор: Sfinks   (29.12.2004 в 23:10)   письмо автору
 
   для: cheops   (29.12.2004 в 22:57)
 

Смысл такой....
Когда юзер отправляет в BeeLine MMS с текстом
MASTER MMS текст и картинкой, то формируется вот такая лабуда :-)

А задача такая...
Получить текст в переменную, а картинку в файл *.jpg на том же сервере, где находится php, которому адресован етот запрос. А остальное - дело техники.

   
 
 автор: cheops   (29.12.2004 в 23:28)   письмо автору
 
   для: Sfinks   (29.12.2004 в 23:10)
 

Хм... тогда следует с ними обходится так, будто вам их прислали из формы. Т.е. чтобы получить текст следует обратиться к $_POST['voc']
<?php
  
// Это на английском
  
echo $_POST['text'];
  echo 
"<br><br>";
  
// Это на русском
  
echo $_POST['voc'];
  
// К файлу обращаемся так, если бы нам прислали изображение
  
copy($_POST['mms_0']['tmp_name'],"image/".$_POST['mms_0']['name']);
>


Правда там всё в BASE64 закодировано, может понадобится повозится с преобразованием если сервер сам это не захочет этого сделать...

   
 
 автор: Sfinks   (29.12.2004 в 23:52)   письмо автору
 
   для: cheops   (29.12.2004 в 23:28)
 

Ну к раскодированию я вернусь, если не захочет...

А здесь 'tmp_name' и 'name' - это что такое? Или прям так и писать?

Я другого не пойму...
там же написано:
Content-Type: image/jpeg
разве ето не значит, что сама картинка уже находится в какойто переменной типа resource? А если находится, то ее просто нужно сохранить? А если сохранить, то функцией imagejpeg? А у етой функции есть такое:
Замечание: JPEG support is only available if PHP was compiled against GD-1.8 or later.
А если не работает? У меня хотя версия PHP - 5.0.3, а про функцию, например imagecreatefromjpeg ваще говорит, что такой нету =((

И mms_0 я не понял, это resource картинки, или string Имя_файла???

   
 
 автор: cheops   (30.12.2004 в 00:08)   письмо автору
 
   для: Sfinks   (29.12.2004 в 23:52)
 

Все присылаемые через метод POST файлы хранятся во временной директории
'tmp_name' - имя файла во временной директории (не совпадает с именем файла)
'name' - здесь передаётся имя файла
http://www.softtime.ru/info/articlephp.php?id_article=13
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=445
Вот это
image/jpeg

засовывается в $_FILES[' mms_0']['type']
Функция imagejpeg - вообще из графической библиотеки GDLib и предназначена для создания дескриптора JPEG-файла, чтобы на нём потом средствами этой библиотеки рисовать
http://www.softtime.ru/group/id_group=15
mms_0 - это имя файла (строка), если бы мы отправляли файл text.txt через форму, то вместо mms_0 был бы text.txt, но пчёлы демонстрируют высший класс в названиях файлов :)))

   
 
 автор: Sfinks   (30.12.2004 в 00:17)   письмо автору
 
   для: cheops   (30.12.2004 в 00:08)
 

Фуххх =))
СПАСИБО!
Теперь все понятно =))

Ну не могу я писать, не понимая принципа, "как оно работает" :))
Наверно ето рефлекс оставшийся еще от агатовского басика ;-)) Гы-гы.

   
 
 автор: Sfinks   (30.12.2004 в 18:02)   письмо автору
 
   для: cheops   (29.12.2004 в 23:28)
 

Е-еххх.... =((
Вы правы были - он не захотел сам раскодировать данные из BASE64 =((
Ну и че с ним теперь делать? Я ни малейшего представления об етом не имею =((

И попутно еще вопрос...
Временные файлы от POST запроса где находятся? В своей папке я их не увидал через FTP-клиент... И кто отвечает за их своевременное удаление? Или они сами удаляются после выполнения получившего их скрипта?

   
 
 автор: Sfinks   (30.12.2004 в 19:53)   письмо автору
 
   для: Sfinks   (30.12.2004 в 18:02)
 

Млин, я частично разобрался, но чет не пашет....

Обрашение - MMS.
Соответственно запрос по форме выше.
Код...
<?php
  header
("Content-Type: text/plain"); 
  
header("Content-Transfer-Encoding: base64"); 

  
$txt $_POST['txt'];
  if(empty(
$txt))
  {
    
$txt $_GET['txt'];
    
$pid $_GET['pid'];
    
$nik $_GET['nik'];
    
$reg $_GET['reg'];
    
$form 'GET';
  }
  else
  {
    
$txt base64_decode($txt);
    
$pid base64_decode($_POST['pid']);
    
$nik base64_decode($_POST['nik']);
    
$reg base64_decode($_POST['reg']);
    
$form 'POST';
  }
    
  echo
'Формат запроса: '.$form;
  
$KolMMS substr_count($txt,'<ems:mms');
  if(
$KolMMS)
  {
    for(
$i 0$i $KolMMS$i++)
    {
      if(
$form == 'POST')
      {
        
$mms_tmp_name[$i] = base64_decode($_POST['mms_'.$i]['tmp_name']);
        
$mms_name[$i] = base64_decode($_POST['mms_'.$i]['name']);
        
$mms_size[$i] = base64_decode($_POST['mms_'.$i]['size']);
        
$mms_type[$i] = base64_decode($_POST['mms_'.$i]['type']);
        echo
'tmp_name='.$mms_tmp_name[$i].' name='.$mms_name[$i].' size='.$mms_size[$i].' type='.$mms_type[$i];
        
copy($mms_tmp_name[$i],'obyav/'.$mms_name[$i]);
      }
    }
  }
  echo
'PID='.$pid.' Nick='.$nik.' Region='.$reg.' Text='.$txt;
?>
Так вот он txt, pid, nik и reg раскодирует, а mms_.... нет!
Вернее выдает в echo пустые строки!
Почему? :-/

   
 
 автор: cheops   (30.12.2004 в 21:57)   письмо автору
 
   для: Sfinks   (30.12.2004 в 19:53)
 

Хм... а вы его не выводите echo, а сохраняйте в виде отдельного файла... я насколько понимаю это картинка? Тогда с ней и следует обращаться как с картинкой...

   
 
 автор: cheops   (30.12.2004 в 21:54)   письмо автору
 
   для: Sfinks   (30.12.2004 в 18:02)
 

Временные файлы находятся в специальной общей директории отведённой администратором сервера под это дело, в php.ini. Вообще их можно и удалять и это считается хорошим тоном и не позволяет злоумышленнику завладеть этими файлами, в том слудчае, если он получит доступ к директории с временными файлами. На практике очень часто они не удаляются, поэтому эту директорию чистят системные скрипты запускаемые в определённое время демоном cron. Как действуют скрипты - удаляют всё сразу или только файлы старее определённого времени зависит от пристрастий и вкусов администратора, писавшего такой скрипт.

   
 
 автор: Sfinks   (02.01.2005 в 12:32)   письмо автору
 
   для: cheops   (30.12.2004 в 21:54)
 

Ну, что же.... Вернемся к нашим слонам :-))
Еще раз код (немного исправленый и без лишнего)...
<?
  $txt 
$_POST['txt'];
  if(empty(
$txt))
  {
    
$txt $_GET['txt'];
    
$format 'GET';
  }
  else
  {
    
$txt base64_decode($txt);
    
$format 'POST';
  }

  echo
"Формат запроса: $format.\n$txt";

  
$KolMMS substr_count($txt,'<ems:mms');
  if(
$KolMMS && ($format == 'POST'))
    for(
$i 0$i $KolMMS$i++)
    {
      
$mms_tmp_name[$i] = base64_decode($_FILES["mms_".$i]["tmp_name"]);
      
$mms_name[$i] = base64_decode($_FILES["mms_".$i]["name"]);
      
$mms_size[$i] = base64_decode($_FILES["mms_".$i]["size"]);
      
$mms_type[$i] = base64_decode($_FILES["mms_".$i]["type"]);
      echo 
"\ntmp_name_$i=$mms_tmp_name[$i]; name_$i=$mms_name[$i]; size_$i=$mms_size[$i]; type_$i=$mms_type[$i].";
//      copy($mms_tmp_name[$i],'obyav/'.$mms_name[$i]);
    
}
?>
Запросом является такое MMS:
Текст (картинка) (анимашка) текст (мелодия)
И возвращает он вот такую ерунду:
Формат запроса: POST.
Текст <ems:mms url="groovy.jpg"> <ems:mms url="groovyanim.gif"> текст <ems:mms url="160.mid">
tmp_name_0=; name_0=; size_0=; type_0=.
tmp_name_1=; name_1=; size_1=; type_1=.
tmp_name_2=; name_2=; size_2=; type_2=.

Если строка copy() не закоментарена, то выдает ошибку (файл такой-то не найден).

Проанализировав всю ету ерунду и наложив значение переменной $txt на формат генерируемого запроса (в начале статьи), делаем вывод, что в описании mms_0 - это не имя переменной из массива $_FILES, а параметр name переменной с неизвестным именем, так как groovy.jpg, groovyanim.gif, 160.mid - это имена файлов, которые я и запихивал в MMS!

Так вот вопрос!
Как можно, зная значение параметра name узнать имя_переменной, чтобы получить параметры tmp_name, size и type???

   
 
 автор: cheops   (02.01.2005 в 12:40)   письмо автору
 
   для: Sfinks   (02.01.2005 в 12:32)
 

Сделайте такую вещь: просто выведите содержимое массивов $_POST и $_FILES. Тогда нам будет известны все элементы у этих массивов - среди них и будет нужный:
<?php
  print_r
($_POST);
  
print_r($_FILES);
?>

   
 
 автор: Sfinks   (02.01.2005 в 12:44)   письмо автору
 
   для: cheops   (02.01.2005 в 12:40)
 

А, ну тада понятно =))
Я думаю ето все решит, но вывести не смогу, т.к. у меня MMS накрылось медным тазом =((((((((

Кстати, случайно не знаете, где найти прошивку на Alcatel 535? Я пол инета облазил =(( Не могу продолжать работу.

   
 
 автор: Sfinks   (09.01.2005 в 20:14)   письмо автору
 
   для: cheops   (02.01.2005 в 12:40)
 

ЗДРАВСТВУЙТЕ =))

Такая вот ПРОБЛЕМА....
Я в HTML полный ноль, а тем более в работе с формами, а нужно оттестировать php'шку, которая обрабатывает POST-запрос описаный в начале темы. Причем обработка сложная и очень разветвленая (код на 500+ строк), поетому нужно съэмулировать запрос, максимально приближенный к реальному!

Я даже близко не представляю, как это сделать! Помогите пожалуйста?!

Я уточню, что из себя представляет этот запрос....
Во-первых, что должно быть на форме - пара полей для выбора файлов, поля для ввода ТЕКСТа, PID и РЕГИОНа, и кнопка "Отправить".

Значения полей PID и регион отправляются как есть в переменные $pid и $reg, а к тексту перед отправкой (для тестирования не важно где, пускай в конце) дописываются такие теги:
<ems:mms url="имя_файла_на_отправляющем_сервере"> -по 1 для каждого прикрепленного файла.
Полученный текст отправляется в переменную $txt.
Значения переменных $pid, $reg и $txt передаются в BASE64-закодированном виде.

Теперь, о том, как передаются файлы...
имя_файла_на_отправляющем_сервере -это, естесственно $_FILES["имя_переменной"]["name"];
причем (имя_переменной == имя_файла_на_отправляющем_сервере), только точка перед расширением заменяется на _
$_FILES["имя_переменной"]["tmp_name"] -я так понимаю, генерируется автоматически.
$_FILES["имя_переменной"]["type"] -если не само генерируется, то можно установить постоянным "image/jpeg", оттестирую на одном типе.
$_FILES["имя_переменной"]["size"] -не имеет значения, я ее не использую.
Т.е. для абстрактного файла "1.jpg" массив $_FILES выглядит так:
Array
(
  [1_jpg] => Array
          (
            [name] => 1.jpg
            [tmp_name] => /tmp/fhgjdmdlc
            [type] => image/jpeg
            [size] => 10426
            [error] => 0
          )
)
Соответственно в конце текста должно быть дописано <ems:mms url="1.jpg">

И еще один нюанс - значения [name],[tmp_name],[type] передаются НЕ ЗАКОДИРОВАННЫМИ, а вот сам файл 1.jpg в /tmp/fhgjdmdlc сохраняется BASE64-закодированным =((

ОТ ТАКАЯ ВОТ БЕДА =((
ПОМОЖЕТЕ???
PLIIIZ!!!

   
 
 автор: cheops   (09.01.2005 в 23:19)   письмо автору
 
   для: Sfinks   (09.01.2005 в 20:14)
 

Можно воспользоваться следующей формой:
<table>
<form enctype='multipart/form-data' action=handler.php metod=POST>
<tr><td>Английский: </td><td><input size=71 type="text" name="text" value='Test <ems:mms url="mms_0">'></td></tr>
<tr><td>Русский: </td><td><input size=71 type="text" name="voc" value='Текст <ems:mms url="mms_0">'></td></tr>
<tr><td>Идентификатор телефона: </td><td><input size=71 type="text" name="pid" value=''></td></tr>
<tr><td>Регион: </td><td><input size=71 type="text" name="region" value=''></td></tr>
<tr><td>Файл 0</td><td><input size=71 type=file name=mms_0></td></tr>
<tr><td>Файл 1</td><td><input size=71 type=file name=mms_1></td></tr>
<tr><td>Файл 3</td><td><input size=71 type=file name=mms_1></td></tr>
<tr><td></td><td><input type="submit" value="Отправить"></td></tr>
</form>
</table>

Только параметры скорее всего придётся в самом начале скрипта кодировать самотоятельно. Т.е. осуществлять кодировку уже после того, как данные отправляются в обработчик handler.php

PS Не понятно что такое РЕГИОН и в каком параметре он должен передаваться...

   
 
 автор: Sfinks   (10.01.2005 в 02:56)   письмо автору
 
   для: cheops   (09.01.2005 в 23:19)
 

Вы не поняли смысла.... Мне нужна динамическая форма, которая будет изменяться в зависимости от введенных данных!

Т.е. в строке <input size=71 type=file name=mms_0> параметру name должно присваиваться не mms_0, а отредактированное имя файла! Например если выбираешь файл c:\music\1.mp3, то должно быть name=1_mp3

И к тексту дописываться не <ems:mms url="mms_0">, а <ems:mms url="1.mp3"> и только после выбора файла.

Или средствами HTML это сделать невозможно?
Тогда как сгенерировать подобный запрос в PHP?
Да, согласен, в начале скрипта можно перекроить данные, полученные из статичной формы, но тогда где гарантия, что я буду тестировать код верным запросом?

P.S.: А регион присваивается переменной $reg.
Вы составили форму для варианта:
MASTER MMS SETURL http://domain/path?text=%*%&voc=%voc%&pid=%pid%
а у меня вариант
MASTER MMS SETURL http://domain/path?pid=%pid%&reg=%region%&txt=%voc%

   
 
 автор: cheops   (10.01.2005 в 12:12)   письмо автору
 
   для: Sfinks   (10.01.2005 в 02:56)
 

Формировать POST-запрос это песня - будте уверены, что запустить его для приведённого выше запроса едва ли удасться ...
Да PHP неможет менять HTML-форму в зависимости от введённых данных - так как форма у клиента, а PHP - на сервере, даже JavaScript это не подсилу... здесь наверно нужно будет пропускать данные через несколько форм... т.е. вводим число файлов - пергружаемся на другую форму в которой поля для этих файлов, хотя... тоже наверное не получится...

   
 
 автор: Sfinks   (10.01.2005 в 15:21)   письмо автору
 
   для: cheops   (10.01.2005 в 12:12)
 

А я-таки его сформировал и запустил!
Причем 1:1 с тем, что требовалось съэмулировать =))

Пришлось пойти по подсказанному Вами пути.... предобработки в конечном файле.
Вот посмотрите, пожалуйста =)) Очень интересно Ваше авторитетное мнение =))

Форма:
<table>
  <form enctype="multipart/form-data" action="obyavy.php" method="POST"> 
    <tr><td>Текст:</td>
      <td><FIELDSET ТIТLЕ="Компоненты текста"><LEGEND ALIGN="left">Компоненты текста</LEGEND>
          <LABEL FOR="kom">&nbsp;Команда:</LABEL>
          <SELECT name="kom" SIZE="1"><OPTION VALUE="b2b">b2b<OPTION VALUE="b2g">b2g<OPTION VALUE="g2b">g2b<OPTION VALUE="g2g">g2g<OPTION VALUE="rb2b">rb2b<OPTION VALUE="rb2g">rb2g<OPTION VALUE="rg2b">rg2b<OPTION VALUE="rg2g">rg2g</SELECT>
          <LABEL FOR="txt">Текст:</LABEL>
          <INPUT SIZE=54 TYPE="text" NAME="txt"><br>
          <INPUT TYPE="checkbox" NAME="m1" VALUE='&lt;ems:mms url="http://server/file.jpg"&gt;'> Корректное MMS: &lt;ems:mms url="http://server/file.jpg"&gt;<br>
          <INPUT TYPE="checkbox" NAME="m2" VALUE='&lt;ems:mms url="server/file.jpg"&gt;'> Некорректное MMS: &lt;ems:mms url="server/file.jpg"&gt;
        </FIELDSET></td></tr> 
    <tr><td>PID:</td>
      <td><FIELDSET ТIТLЕ="Идентификатор телефона"><LEGEND ALIGN="left">Идентификатор телефона</LEGEND>
          <INPUT TYPE="radio" NAME="pid" VALUE="FGHTYU">FGHTYU<INPUT TYPE="radio" NAME="pid" VALUE="UIOPLK">UIOPLK<INPUT TYPE="radio" NAME="pid" VALUE="QWERTY">QWERTY<INPUT TYPE="radio" NAME="pid" VALUE="ASDFGH">ASDFGH<INPUT TYPE="radio" NAME="pid" VALUE="ZXCVBN">ZXCVBN
        </FIELDSET></td></tr>
    <tr><td>Файл 1</td><td><input size=71 type=file name=mms_0></td></tr> 
    <tr><td>Файл 2</td><td><input size=71 type=file name=mms_1></td></tr> 
    <tr><td>Файл 3</td><td><input size=71 type=file name=mms_2></td></tr> 
    <tr><td></td><td><input type="submit" value="Отправить"></td></tr> 
  </form></table>

А вот код предобработки:
<?
  $_POST
["txt"] = $_POST["kom"]." ".$_POST["txt"];
  unset(
$_POST["kom"]);
  if(isset(
$_POST["m1"]))
  {
    
$_POST["txt"] = $_POST["txt"]." ".$_POST["m1"];
    unset(
$_POST["m1"]);
  }
  if(isset(
$_POST["m2"]))
  {
    
$_POST["txt"] = $_POST["txt"]." ".$_POST["m2"];
    unset(
$_POST["m2"]);
  }
  for(
$i 0$i 3$i++)
  {
    if(
$_FILES["mms_".$i]["tmp_name"])
    {
      
$handle = @fopen($_FILES["mms_".$i]["tmp_name"],"r");
      if(
$handle)
      {
        
$file fread($handle,filesize($_FILES["mms_".$i]["tmp_name"]));
        
fclose($handle);
        
$handle = @fopen($_FILES["mms_".$i]["tmp_name"],"w");
        if(
$handle)
        {
          
stream_filter_append($handle,'convert.base64-encode');
          
fwrite($handle,$file);
          
fclose($handle);
        }
      }
      
$_POST["txt"] = $_POST["txt"].' <ems:mms url="'.$_FILES["mms_".$i]["name"].'">';
      
// Здесь getname - функция, заменяющая
      // точку перед расширением на _
      
$ts getname($_FILES["mms_".$i]["name"]);
      
$_FILES[$ts] = $_FILES["mms_".$i];
      unset(
$_FILES["mms_".$i]);
    }
    else
      unset(
$_FILES["mms_".$i]);
  }
  switch(
$_POST["pid"])
  {
    case 
"FGHTYU"$_POST["reg"] = "Нальчик"; break;
    case 
"UIOPLK"$_POST["reg"] = "Астрахань"; break;
    case 
"QWERTY"$_POST["reg"] = "Москва"; break;
    case 
"ASDFGH"$_POST["reg"] = "СПБ"; break;
    case 
"ZXCVBN"$_POST["reg"] = "Волгоград"; break;
  }
  
$_POST["txt"] = base64_encode($_POST["txt"]);
  
$_POST["pid"] = base64_encode($_POST["pid"]);
  
$_POST["reg"] = base64_encode($_POST["reg"]);
?>

1. Какие нибудь нюансы могут быть?
2. Неплохо для новичка? =)))

   
 
 автор: cheops   (10.01.2005 в 21:33)   письмо автору
 
   для: Sfinks   (10.01.2005 в 15:21)
 

Очень не плохо и стиль хороший, не к чему придраться кроме <?, который рекомендуется писать полностью <?php :)))

   
 
 автор: Sfinks   (10.01.2005 в 21:43)   письмо автору
 
   для: cheops   (10.01.2005 в 21:33)
 

Большое спасибо =)))

А почему рекомендуется?

Кстати насчет "рекомендуется".... Я то учебник потихоньку продолжаю корректировать, так вот там очень часто используются варианты типа
echo "текст $var текст"
а рекомендуется писать
echo "текст ".$var." текст"
чтоб PHP не приходилось сто раз туда-сюда переводить строки в переменные и обратно и заниматься их "вычленением"....
Так вот такие оплошности исправлять?

   
 
 автор: cheops   (10.01.2005 в 22:23)   письмо автору
 
   для: Sfinks   (10.01.2005 в 21:43)
 

Тэг <? иногда переоределяют для использования в других Web-технологиях, а уж <?php точно никем не зарезрвирован, кроме того сразу видно, что это PHP :))), но вообще проблемы здесь маловероятны...
Ну преобразование типа интепретатору придётся осуществлять в обоих случаях, во-втором случае PHP сработает быстрее, но читабельность кода по сравнению с первым варианом ниже, а это скрость отладки и написания Web-приложения - сейчас лимитирующая стадия - это человек, поэтому писать код следует так, каким образом, чтобы его могли легко читать вы и другие люди.

   
 
 автор: Sfinks   (10.01.2005 в 22:37)   письмо автору
 
   для: cheops   (10.01.2005 в 22:23)
 

Ну, ет Вам виднее =))
Просто так написано в руководстве по PHP.
Кстати, гады... половину перевели, а половину - сиди, мучайся =))

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования