Артефакт в форме.

  • Автор темы Автор темы gufy
  • Дата начала Дата начала

gufy

Новичок
Артефакт в форме.

В форме имеются инпуты типа текст, имена которых имеют вид названия файла, т.е. <input type='text' name='foto.jpg'> каково же было мое удивление, когда я узнал, что определяется не $_POST['foto.jpg']($_GET['foto.jpg']), а $_POST['foto_jpg']($_GET['foto_jpg'])! никогда не слышал о такой замене:) php какой-то из 4.3.x apache 2.0.x
 
а тебя не удивляет, что переменную с точкой создать нельзя ?
 
так я и не просил создавать переменную с точкой:) меня удивило, что точка заменилась именно на _ . а в индексе ассоциативного массива чем точка может помешать? с объектом не перепутать:)
 
gufy

попробуй переменную через substr_replace($your_var, '', -4)
 
>Извините, а чём бред?

В том, что твой совет совершенно не в тему. Мало того, что он кривой, так еще и криво исправляет кривую логику скрипта.
 
Господа, извините за оффтоп, возможно, я был неправ, обратившись к Вам. Но если вы считаете, что я не должен был этого делать, то могли бы сказать прямо, не утруждая себя злыми окриками, как учителя на ученика, не выучившего урок. Мы ведь с Вами ничем друг другу не обязаны. Извините за глупый вопрос.
 
Взято из мануала.

Точки в именах приходящих переменных
Как правило, PHP не меняет передаваемых скрипту имен переменных. Однако следует отметить, что точка не является корректным символом в имени переменной PHP. Поэтому рассмотрим такую запись: <?php
$varname.ext; /* неверное имя переменной */
?>
В данном случае интерпретатор видит переменную $varname, после которой идет оператор конкатенации, а затем голая строка (то есть, не заключенная в кавычки строка, не соответствующая ни одному из ключевых или зарезервированных слов) 'ext'. Очевидно, что это не даст ожидаемого результата.

По этой причине важно заметить, что PHP будет автоматически заменять любые точки в именах приходящих переменных на символы подчеркивания.
 
gufy
Ты правильно сделал, что обратился. И "окрики" у нас добрые.

icechel
Если здесь приводится ссылка, это значит, что достаточно сходить по ней и почитать что там написано.
 
Сверху