2 / 2 / 0
Регистрация: 15.02.2022
Сообщений: 469

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

03.01.2023, 09:03. Показов 2454. Ответов 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
Ответ Создать тему
Опции темы

Новые блоги и статьи
Нашел вот забавное видео о измерениях. Лучшее что я видел на эту тему
kumehtar 26.08.2026
ILETXiw9bMQ Основная суть и тезисы по измерениям: 0D (Нулевое измерение): точка, не имеющая длины, ширины, высоты или объема. Объект не может перемещаться в 0D. 1D (Первое измерение):. . .
[EasyBuilder Pro] Памятка по разработке для панелей Weintek
ФедосеевПавел 26.08.2026
Памятка по разработке для панелей Weintek ВВЕДЕНИЕ Ранее, при реализации проектов основное внимание уделял разработке управляющей программы для контроллера, а панели оператора доставалось время. . .
Модель по догадкам
anaschu 25.08.2026
Прошло две недели. Я уже рассказывал, как разговаривал с сотрудниками у сортировки и как понял, что главная ветка — не про приёмку, а про отбор. Но тогда я думал, что понял механику. На этой неделе я. . .
Запись в регистр сведений независимо от заполненности табличной части
Maks 25.08.2026
Реализация из решения ниже выполнена на нетиповом документе с несколькими табличными частями, разработанного в КА2. Задача: Обеспечить запись документа в регистр сведений независимо от. . .
Ноутбук Альфария
kumehtar 24.08.2026
Встретился тут в сети ноутбук Альфария, примарха Альфа-Легиона. Хотя возможно, это ноутбук Омегона, разумеется. Ну как вам?
Мастера простых решений
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, и я вновь нахожусь на той стороне, за экраном машины. Кто Я, откуда Я пришел и куда Я иду? Эти вопросы не оставляют меня ни на секунду. Жизнь на планете Земля. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru