- PHP – удалить последний символ файла
- Solutions Collecting From Web of «PHP – удалить последний символ файла»
- как получить последний символ строки в PHP?
- Как удалить последний символ из файла?
- PHP – удалить последний символ файла
- Solutions Collecting From Web of «PHP – удалить последний символ файла»
- Как удалить последний символ в файле?
PHP – удалить последний символ файла
У меня есть небольшой скрипт php, который удаляет последний символ файла.
$contents = file_get_contents($path); rtrim($contents); $contents = substr($contents, 0, -1); $fh = fopen($path, 'w') or die("can't open file"); fwrite($fh, $contents); fclose($fh);
Таким образом, он считывает содержимое файла, удаляет последний символ, а затем обрезает файл и записывает в него строку. Все это прекрасно работает.
Мое беспокойство состоит в том, что этот файл может содержать много данных, а вызов file_get_contents () будет содержать все эти данные в памяти, что потенциально может привести к максимальному удалению памяти моих серверов.
Есть ли более эффективный способ удалить последний символ из файла?
Solutions Collecting From Web of «PHP – удалить последний символ файла»
$fh = fopen($path, 'r+') or die("can't open file"); $stat = fstat($fh); ftruncate($fh, $stat['size']-1); fclose($fh);
Для получения дополнительной помощи см. Это
- Найти все hrefs на странице и заменить ссылку, поддерживающую предыдущую ссылку – PHP
- laravel 4 постоянных данных – jquery ajax submit
- Регулярные выражения для имени skype в PHP
- PHP json_encode возвращает значение null из символа Unicode
- Заменить строку в текстовом файле с помощью PHP
- Примечание: Неизвестно: Пропуск цифровой клавиши 1 в Unknown в строке 0
- Apple Push Notification Service с PHP Script
- Как подсчитать, сколько врачей забронировано каждым пациентом?
- Анонимная функция в массиве
- Стратегия для разработки версий с именами и без имен с одним и тем же PHP-кодом
- Получить имя файла, содержащего скрипт PHP
- Какой файл PHP Ini использует моя веб-страница WAMP?
- PHP добавление пользовательского пространства имен с помощью автозагрузчика от композитора
- html2canvas и jsPDF: отправить сгенерированный PDF-файл в виде вложения электронной почты
- MVC: Model View Controller – просматривает ли View модель?
как получить последний символ строки в PHP?
Мне нужно получить последний символ строки. Скажем, у меня есть «тестеры» в качестве входной строки, и я хочу, чтобы результат был «s». как я могу это сделать в PHP?
substr("testers", -1); // returns "s"
Или прямым доступом к строке :
Обратите внимание, что это не работает для многобайтовых строк. Если вам нужно работать с многобайтовой строкой, рассмотрите использование семейства функций mb_* .
В предыдущем и следующем PHP 7.1 вы сможете это сделать ( Accepted rfc для отрицательных смещений строк ):
; echo $silly[-3]; echo $silly[-15]; echo $silly[-13]; echo $silly[-1]; echo $silly[-4]; echo $silly; echo $silly[-4]; echo $silly[-8]; echo $silly; die();
Я дам вам угадать результат.
Кроме того, я добавил это к коду производительности xenonite с этими результатами:
substr () занял 7.0334868431091сек.
доступ к массиву занял 2,3111131191254 секунд
Прямой доступ к строке занял 1.7971360683441сек.
Я не могу оставлять комментарии, но в отношении ответа FastTrack также помните, что окончание строки может быть только одиночным символом. Я бы предложил
EDIT: Мой код ниже был отредактирован кем-то, поэтому он не делает то, что я указал. Я восстановил исходный код и изменил формулировку, чтобы сделать ее более понятной.
trim (или rtrim ) удалит все пробелы, поэтому, если вам нужно проверить пробел, вкладку или другие пробелы, сначала замените различные окончания строк:
$order = array("\r\n", "\n", "\r"); $string = str_replace($order, '', $string); $lastchar = substr($string, -1);
Я бы посоветовал пойти на решение Гордона, поскольку он более эффективен, чем substr ():
---------------------------------- 10000000 repetitions. ---------------------------------- substr() took 2.0285921096802seconds array access took 1.7474739551544seconds
Помните, что если у вас есть строка, которая была прочитана как строка из текстового файла с использованием функции fgets() , вам нужно использовать substr($string, -3, 1) чтобы вы получили фактический символ, а не часть CRLF (возврат линии подачи).
Я не думаю, что человек, который задал вопрос, нуждался в этом, но для меня у меня возникли проблемы с получением последнего символа из строки из текстового файла, поэтому я уверен, что другие столкнутся с подобными проблемами.
Вы можете найти последний символ, используя php, много способов, таких как substr () и mb_substr () .
Если вы используете многобайтовые кодировки символов, такие как UTF-8, используйте mb_substr вместо substr
Здесь я могу показать вам оба примера:
Строка на разных языках, включая C sharp и PHP, также считается массивом символов.
Зная, что в теории операции массива должны быть быстрее строковых, которые вы могли бы сделать,
$foo = "bar"; $lastChar = strlen($foo) -1; echo $foo[$lastChar]; $firstChar = 0; echo $foo[$firstChar];
Однако стандартные функции массива, такие как
не будет работать с строкой.
Siemano, получите только файлы php из выбранного каталога:
$dir = '/home/zetdoa/ftp/domeny/MY_DOMAIN/projekty/project'; $files = scandir($dir, 1); foreach($files as $file)< $n = substr($file, -3); if($n == 'php')< echo $file.'
'; > >
Как удалить последний символ из файла?
Mikhail Osher: ну это для меня не очень удобно. я еле разобрал, что код, а что нет. сначала я вообще решил, что вы мне исходник расширения на каком-то странном языке даёте.
Mikhail Osher: я уже понял. В примере я просто перезаписываю файл, обработав его содержимое как строку
Вадим Егоров: Windows offers a text-mode translation flag (‘t’) which will transparently translate \n to \r\n when working with the file. In contrast, you can also use ‘b’ to force binary mode, which will not translate your data. To use these flags, specify either ‘b’ or ‘t’ as the last character of the mode parameter.
Mikhail Osher: да как-раз уже нашел.
>вы также можете использовать ‘b’, чтобы принудительно включить бинарный режим
Просто когда читал, не понял, что t или b надо в mode писать.
И почему у всех тяга к англ. документации.
Mikhail Osher: хотя там написано
>Чтобы использовать эти режимы, укажите ‘b’ или ‘t’ последней буквой параметра mode.
PHP – удалить последний символ файла
У меня есть небольшой скрипт php, который удаляет последний символ файла.
$contents = file_get_contents($path); rtrim($contents); $contents = substr($contents, 0, -1); $fh = fopen($path, 'w') or die("can't open file"); fwrite($fh, $contents); fclose($fh);
Таким образом, он считывает содержимое файла, удаляет последний символ, а затем обрезает файл и записывает в него строку. Все это прекрасно работает.
Мое беспокойство состоит в том, что этот файл может содержать много данных, а вызов file_get_contents () будет содержать все эти данные в памяти, что потенциально может привести к максимальному удалению памяти моих серверов.
Есть ли более эффективный способ удалить последний символ из файла?
Solutions Collecting From Web of «PHP – удалить последний символ файла»
$fh = fopen($path, 'r+') or die("can't open file"); $stat = fstat($fh); ftruncate($fh, $stat['size']-1); fclose($fh);
Для получения дополнительной помощи см. Это
- Найти все hrefs на странице и заменить ссылку, поддерживающую предыдущую ссылку – PHP
- laravel 4 постоянных данных – jquery ajax submit
- Регулярные выражения для имени skype в PHP
- PHP json_encode возвращает значение null из символа Unicode
- Заменить строку в текстовом файле с помощью PHP
- Примечание: Неизвестно: Пропуск цифровой клавиши 1 в Unknown в строке 0
- Apple Push Notification Service с PHP Script
- Как подсчитать, сколько врачей забронировано каждым пациентом?
- Анонимная функция в массиве
- Стратегия для разработки версий с именами и без имен с одним и тем же PHP-кодом
- Получить имя файла, содержащего скрипт PHP
- Какой файл PHP Ini использует моя веб-страница WAMP?
- PHP добавление пользовательского пространства имен с помощью автозагрузчика от композитора
- html2canvas и jsPDF: отправить сгенерированный PDF-файл в виде вложения электронной почты
- MVC: Model View Controller – просматривает ли View модель?
Как удалить последний символ в файле?
Дело вот в чем, у меня постоянно идет запись в файл, и в конце каждой строчки ставится закрывающая скобка!
В ручную при каждой новой записи удалять напряжно!
Я предполагаю, что примерно алгоритм должен быть следующим:
Если последний символ в строке равен >
Мы его удаляем
Потом добавляется новая запись!
Пожалуйста, помогите решить данную задачу, а то уже запарился.
Как удалить из строки последний символ?
Господа, не могу врубиться как удалить из строки последний символ? Я читал мануал, но так и.
Как найти последний символ в текстовом файле
Как в коммандной строке найти последний символ в текстовом документе и перейдя от этого символа на.
Как удалить последний символ из строки?
Здравствуйте, мне нужно удалить последний символ из char* сама строка получается здесь из формы.
Как удалить последний символ из файла?
Вот часть кода fileSaveName = Application.GetSaveAsFilename("Zadanie", _ fileFilter:="Text.
Можно при очередной записи вначале прочитать файл, проверить, сохранить заного и после этого записывать новую строку.
$s=file_get_contents('file.txt'); if(substr($s,-1,1)=='>') { file_put_contents('file.txt',substr($s,0,-1)); } /* И теперь добавляем строку */ $f=fopen('file.txt','a').
да действительно много действий, иначе я так полагаю не получится? Нет ли такого например способа чтобы заместо > вставлялась новая строчка ? Может вопрос глуповат, но я ищу дополнительные способы, чтобы позже выбрать подходящий!