Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2017, 19:53   #1
Feeddie
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 28
Вопрос Запись дублируется PHP сервером, fwrite($file, "Привет, Мир") печает дважды в файл

Здравствуите. У меня тут проблема возникла.

Кидаю код и сеичас объясню ситуэишин.
Код:
<?php
    $file = fopen("log.txt", "r+t");
    fwrite($file, "Привет, Мир");
    fclose($file);
?>
Делаю я запись в фаиле и в результате получаю: "Привет, МирПривет, Мир" , хотя я вроде делаю запись один раз. Никаких ошибок в коде нет, а проблема так же присутствует и в том же strlen, которыи в слове "Банан" даст мне 10 символов.(????)
Работаю с xampp, полностью все отрубал и перезагружал ноут, все-равно одно и то же. В чем дело? Какие дефолтные настроики могут давать такие результаты?

Последний раз редактировалось Feeddie; 26.04.2017 в 21:13. Причина: Ошибка, не substr, а strlen
Feeddie вне форума Ответить с цитированием
Старый 26.04.2017, 20:06   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Причем тут сервер? Можете хоть из cmd запускать интерпретатор PHP.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 26.04.2017, 21:02   #3
Feeddie
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 28
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Причем тут сервер? Можете хоть из cmd запускать интерпретатор PHP.
Дальше-то что? Я работаю с локальным сервером и мне интересно решение проблемы в сумме с ним. У меня есть подозрения на работу apache. Я почему-то думал, что он у меня запустился два раза, может где-то я его забыл выключить, ибо до перезагрузки системы он ругался, что порт 80 занят. Но проблема есть и я не понимаю в чем дело. Не может же substr на слово из 4 букв выдавать 8, так ведь? Значит это не нормально.
Feeddie вне форума Ответить с цитированием
Старый 26.04.2017, 21:05   #4
Feeddie
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 28
По умолчанию

Сорян, ошибочка. Не substr(), а strlen()
Feeddie вне форума Ответить с цитированием
Старый 26.04.2017, 21:10   #5
Feeddie
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 28
По умолчанию

Код:
Код:
<?php
    $test = "Строка";
    echo 'Cтрока $test = '.$test."<br>";
    echo 'Длина этои строки - '.strlen($test);
?>
Результат:
Цитата:
Cтрока $test = Строка
Длина этои строки - 12
Feeddie вне форума Ответить с цитированием
Старый 26.04.2017, 21:12   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

в кодировке utf8, один символ два байта занимает.
Для работы с utf8 - есть функции mb_*
в вашем случае mb_strlen()
ADSoft вне форума Ответить с цитированием
Старый 26.04.2017, 21:15   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Это от кодировки зависит.
В юникоде (utf-8, utf-16) русские символы будут занимать по 2 байта.

Есть mb_strlen
Цитата:
Сообщение от ADSoft Посмотреть сообщение
в кодировке utf8, один символ два байта занимает.
не все. от 1 до 4.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 26.04.2017 в 21:18.
Alex11223 вне форума Ответить с цитированием
Старый 26.04.2017, 21:15   #8
Feeddie
Пользователь
 
Регистрация: 11.04.2017
Сообщений: 28
Смущение

Цитата:
Сообщение от ADSoft Посмотреть сообщение
в кодировке utf8, один символ два байта занимает.
Для работы с utf8 - есть функции mb_*
в вашем случае mb_strlen()
Спасибо, теперь ясно.
Feeddie вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Можно ли в php читать файл с помощью функции file, когда его также читают другие пользователи? Scrag PHP 1 28.02.2014 23:11
visual studio не видит заголовочный файл, хотя он есть (fatal error C1083: Cannot open include file: 'GL/glut.h': No such file or sersheg Помощь студентам 0 21.10.2013 13:04
Странное поведение PHP с MySQL..запись в базе дублируется после обновления страницы Vervolf PHP 30 30.07.2011 02:10
запись из формы в php файл tresh PHP 9 16.05.2011 21:49
[PHP] Запись класса в файл Ramirag PHP 3 21.04.2010 00:40