Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.56/9: Рейтинг темы: голосов - 9, средняя оценка - 4.56
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 469

128 символов когда их всего 95?

03.01.2023, 09:03. Показов 2445. Ответов 46
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Очень странная багуля. Функция подсчета символов iconv_strlen выдает,
что в имени файла 95 символов, а substr видит в имени файла 128 символов?

Как это понимать?

Имя файла: Dark Path (ОБТ). Repack от SEREGA-LUS Торрент Скачать моды для STALKER, Сталкер. SpAa-Team.html

HTML5
1
2
3
4
5
6
<form method ="POST" enctype="multipart/form-data">   
1- <input type="file" name="file1" size="10" /><br><br>
2- <input type="file" name="file2" size="10" /><br><br>
3- <input type="file" name="file3" size="10" /><br><br>
<input type="submit" value="Загрузить">
</form>

PHP
1
2
3
4
5
6
7
8
9
10
11
12
$file = $_FILES;
$names = ["file1", "file2", "file3"];
 
foreach($names as $items) {
if(!empty($file[$items]["name"]) ){
if($file[$items]["error"] ==0){
move_uploaded_file($file[$items]["tmp_name"], "Download/". $file[$items]["name"]);
 
echo "Имя файла:". substr($file[$items]["name"], 0, 128).    // по идее вместо 128 должно быть 95
"<br>Кол-во символов в имени файла: ".iconv_strlen($file[$items]["name"]);
}
}}
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
03.01.2023, 09:03
Ответы с готовыми решениями:

Задано текст до 128 символов. Дополнить пробелами до 128 символов. Шифровать тексты таким образом, чтобы каждый символ т
Задано текст до 128 символов. Дополнить пробелами до 128 символов. Шифровать тексты таким образом, чтобы каждый символ текста записывался в...

Найти объем текста, записанного на языке, алфавит которого содержит 128 символов и 2000 символов в сообщении
Найти объем текста, записанного на языке, алфавит которого содержит 128 символов и 2000 символов в сообщении

Длина строки только 128 символов
uses crt; var s:string; begin readln(s); end. ...

46
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
06.01.2023, 10:37
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Lazor Посмотреть сообщение
в линухе он уже может быть установлен, но не включён.
В Windows тоже.
0
754 / 578 / 120
Регистрация: 26.02.2019
Сообщений: 3,116
Записей в блоге: 3
06.01.2023, 10:40
Цитата Сообщение от estic Посмотреть сообщение
В Windows тоже.
Про винду уже rr33rr написал. Я не счёл нужным повторять тоже самое.
0
1460 / 1013 / 232
Регистрация: 01.10.2018
Сообщений: 3,936
06.01.2023, 10:48
Цитата Сообщение от Lazor Посмотреть сообщение
Про винду уже rr33rr написал.
Это общее правило: сначала проверяем, установлен ли и включен ли.

Добавлено через 2 минуты
Потом, если устанавливали или включали, перезапускается php-сервер или Web-сервер (если PHP - его модуль).
0
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 469
06.01.2023, 11:01  [ТС]
Lazor ну он написал сегодня, а вы вчера сказали, что он уже написал ответ =)

Добавлено через 7 минут
rr33rr спасибо, у меня Windows 10
Все заработало.
А mb_substr считает количество букв?
Не будет багов как с substr?
0
943 / 559 / 299
Регистрация: 07.11.2022
Сообщений: 922
06.01.2023, 13:12
Цитата Сообщение от G_manX Посмотреть сообщение
А mb_substr считает количество букв?
Да. Цитата из описания: "mb_substr() корректно выполняет substr() для многобайтовых кодировок, учитывая количество символов."
Цитата Сообщение от G_manX Посмотреть сообщение
Не будет багов как с substr?
У функции substr() нет багов, просто у нее своя область применения — однобайтовые кодировки (или, например, строки только из английских букв). Если вы используете многобайтовые, вроде UTF-8, она уже не годится.
1
2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 469
07.01.2023, 13:17  [ТС]
rr33rr а русские буквы это сколько байтовая кодировка?
Какая функция годится для UTF-8 ?
0
943 / 559 / 299
Регистрация: 07.11.2022
Сообщений: 922
07.01.2023, 14:01
Цитата Сообщение от G_manX Посмотреть сообщение
rr33rr а русские буквы это сколько байтовая кодировка?
Русские буквы могут быть и в однобайтовых кодировках (когда 1 буква занимает 1 байт) и в многобайтовых.
Например, однобайтовые кодировки KOI8 и Windows-1251 содержат русские буквы.

UTF-8 — многобайтовая. В ней 1 буква может занимать переменное число байт (от 1 до 4), например, английские буквы в ней занимают 1 байт, русские — 2, а, скажем, китайские иероглифы — обычно 3. UTF-8 содержит и русские буквы и буквы практически _всех_ других языков.

Функции mbstring годятся для любых кодировок, в том числе и для UTF-8.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.01.2023, 14:01

QUOTENAME nvarchar больше 128 символов
Всем привет. Создал хранимую процедуру и вызываю ее с приложение (). Во встроенной функции quotename есть ограничение символов...

Записать строку длиннее 128 символов в базу MS SQL
Записываю большой текст в базу. text=System.IO.File.ReadAllText(Compozisens,Encoding.GetEncoding(1251)); ...

Типы: почему если прибавить единицу к char, получится 128, а не -128?
Если мы прибавляем 1 к максимальному значению unsigned int - результат &quot;0&quot;. Тогда почему если прибавляем 1 к char - &quot;128&quot;, а не...

SELECT запрос файла 128 мб, PHP скрипт отжимает эти 128 мб, можно ли сэкономить?
error_log(memory_get_peak_usage(true)); error_log(memory_get_usage(true)); Показывают, что скрипт отъедает 300 кб, но на практике...

Ввести с экрана строку символов в 128 байт и записать ее построчно в выходной поток
Разработать и отладить процедуру, выполняющую следующие действия : ввод с экрана строку символов в 128 байт и запись ее ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
47
Ответ Создать тему
Новые блоги и статьи
Мастера простых решений
DevAlt 23.08.2026
В сишарп стэках winforms, да и wpf существует сложная система связывания источниках данных и элементов формы(текстовые поля и метки), опирается все это на технологию событий и мета. . .
Цена ошибки
DevAlt 23.08.2026
Человек я беспокойный и потому заинтересовался OCaml, в чате форсили функторы модулей как суперфичу. Пытаясь отдуплить концепт, наткнулся на тутор с простым примером. А главный принцип обучения от. . .
Сегодня суббота, 22.08.2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины.
zorxor 22.08.2026
Сегодня суббота, 22. 08. 2026 at 16:41, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
Жизня: рисунок укладки багажа, сделанный клодом
anaschu 21.08.2026
Сделал 15 снимков, он по снимкам сделал схему.
Был там один разговор по поводу свободы в материальном мире.
kumehtar 19.08.2026
Суть: рассматривается живое существо, оказавшееся внутри довольно странной системы (этого мира) и пытающееся обустроить в ней свой кусок пространства. Жизнь действительно предъявляет каждому. . .
Когда логика программы не спасает от человеческих ошибок
Maks 18.08.2026
В последнее время всё чаще и чаще сталкиваюсь с таким явлением, как абсолютная невнимательность (или глупость) пользователей. Проявляется это чаще всего на работе в коллективе. Допустим, человек с. . .
Лето уходит
kumehtar 17.08.2026
Мысли в слух
kumehtar 17.08.2026
Забавно, насколько сейчас стала доступна информация. Например о магии, духовном развитии, медитациях, и других подобных направлениях, ранее зачастую тайных, передаваемых от учителя к ученику. Хотя. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru