При получении данных из $_GET-массива, автоматически обрабатываются некоторые величины. Например, + заменяется на пробел. Таким образом, если в ссылке есть пробел и плюс, то переменная будет содержать два пробела. Есть ли какой-нибудь способ достать в исходом варианте, кроме QUERY_STRING?
Давно сделал скрипт, который отдает файлы (filename=myfile.txt), а тут поступила жалоба, что файл не скачивается. Посмотрел файл - а он содержит знак "+". PHP заменяет + на пробел и, в итоге, ищется файл с пробелом, которого, естественно, нет.
Проще вообще хранить их с числовыми названиями-идентификаторами. А при отдаче писать имя, которое в базе. Пока не буду переделывать реализацию и сделаю костыль через QUERY STRING
ага. я тоже недавно в гуглокод писал багрепорт по поводу файлов с символом # в названии. Он воспринимался как якорь. И у себя проверь этот ньюанс. чтобы работало корректно при выводе ссылок тебе просто нужно делать так: Код (Text): '<a href="files/' . urlencode($filename) . '">' . $filename . '</a>' таким образом избавишся о многих багах, про которые ты , пока, не знаешь.