[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Php! Работа с файлами
Страницы: 1, 2, 3
Игорь_Vasinsky
Цитата
Php!? Как удалить в текстовом файле последний символ последней строки?

:D :D :D :D

$text = substr(file_get_contents("my_file", 0, -5));


удалит с конца |\r\n

_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Stasonix
на счет эксплод не знаю, не я функцию писал, там дальше js $.get('text.txt').... и т.д., в общем для меня легче 1 символ удалить чем всю функцию переделывать.



Спустя 5 минут, 23 секунды Stasonix написал(а):
$fp = fopen('urlimg.txt','r+');
foreach ($data as $value) {
$text = fwrite($fp,"image/".$value['foto']."|\r\n");
}
$text = substr(file_get_contents("urlimg.txt", 0, -5));


не спасет... ??? to be continues...
redreem
$p=''; $s='|\r\n';
foreach ($data as $value) {
if ($s='') $s='|';
$text = fwrite($fp,$p."image/".$value['foto'].$s);
if ($p=='') {$p='|\r\n';$s='';}
}


хоть и через жопу, но работает :)
Игорь_Vasinsky
потому что здесь получается переменная php, а оказывается там ещё чтение из файла на JQ, а потом asp нету????
блин...

$fp = fopen('urlimg.txt','r+');
foreach ($data as $value) {
$text = fwrite($fp,$div."image/".$value['foto']."|\r\n");
}

$get_content = substr(file_get_contents("my_file", 0, -5));
$put_content = file_put_contents("my_file", $get_content);


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Stasonix
$fp = fopen('urlimg.txt','r+');
foreach ($data as $value) {
$text = fwrite($fp,"image/".$value['foto']."|\r\n");
}
$get_content = substr(file_get_contents('urlimg.txt', 0, -100));
$put_content = file_put_content('urlimg.txt', $get_content);


даже -100 поставил, ничего не происходит, в файл записываются данные, но не стираются, кто-нть у себя попробовал???
redreem
$p=''; $s='|\r\n';
foreach ($data as $value) {
if ($s='') $s='|';
$text = fwrite($fp,$p."image/".$value['foto'].$s);
if ($p=='') {$p='|\r\n';$s='';}
}




Спустя 1 минута, 31 секунда redreem написал(а):
Stasonix, хотя варианты с последующим вырезанием последних 5 символов тоже должны работать, просто наверно закрыть файл надо перед этим.
Invis1ble
Цитата
Как удалить в текстовом файле последний символ последней строки?
Stasonix
Цитата (redreem @ 5.09.2011 - 15:36)
Stasonix, хотя варианты с последующим вырезанием последних 5 символов тоже должны работать, просто наверно закрыть файл надо перед этим.

$fp = fopen('urlimg.txt','r+');
foreach ($data as $value) {
$text = fwrite($fp,"image/".$value['foto']."|\r\n");
}
fclose($fp);
$get_content = substr(file_get_contents('urlimg.txt', 0, -5));
$put_content = file_put_content('urlimg.txt', $get_content);




image/domf1.jpg|
image/domf3.jpg|
image/domf4.jpg|
image/domf5.jpg|
image/domf2.jpg|
image/domf6.jpg|


мне уже тоже не по себе, это что закон подлости???
Игорь_Vasinsky
Цитата
ftruncate() + filesize()

да..так тоже.

А вообще
1. пересмотреть порядок записи строк
2. или при JQUery убирать последний символ (или скока там)

И тогда не будешь лишние ресурсы тратить.
Самый оптимальный - это вариант 1

1. Проверить пустой ли файл
2. если да - то в запись "image/".$value['foto']."
3. если есть строки - то "|\r\nimage/".$value['foto']."



Спустя 1 минута, 19 секунд Игорь_Vasinsky написал(а):
urlimg.txt - где лежит??? в той же директории

у тя вообще в файл пишет?


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Stasonix
Цитата (Invis1ble @ 5.09.2011 - 15:36)
Цитата
Как удалить в текстовом файле последний символ последней строки?

ftruncate() + filesize()

можно по подробнее, сложить транкейт (очистить файл) с его размером??? это шутка?
Игорь_Vasinsky
там вообще моя опечатка (исправленная)
Цитата
file_put_content


Выполни

$get_content = substr(file_get_contents('urlimg.txt', 0, -5));
$put_content = file_put_contents('urlimg.txt', $get_content);

if($put_content)
echo "Я удалил блин 5 последних символов из файла";
else
echo "LOL!!!";


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Stasonix
Цитата (Игорь_Vasinsky @ 5.09.2011 - 15:46)
urlimg.txt - где лежит??? в той же директории

у тя вообще в файл пишет?

в той же именно там где и надо и лежит, все пишет, я могу тогда функции javascript показать что этот файл парсит, может там удалить проще будет:

function mycarousel_itemLoadCallback(carousel, state)
{
// Since we get all URLs in one file, we simply add all items
// at once and set the size accordingly.

if (state != 'init')
return;

jQuery.get('urlimg.txt', function(data) {
mycarousel_itemAddCallback(carousel, carousel.first, carousel.last, data);
});
};

function mycarousel_itemAddCallback(carousel, first, last, data)
{
// Simply add all items at once and set the size accordingly.
var items = data.split('|');

for (i = 0; i < items.length; i++) {
carousel.add(i+1, mycarousel_getItemHTML(items[i]));
}

carousel.size(items.length);
};
Игорь_Vasinsky
Цитата
там вообще моя опечатка (исправленная)
Цитата
file_put_content


Выполни

$get_content = substr(file_get_contents('urlimg.txt', 0, -5));
$put_content = file_put_contents('urlimg.txt', $get_content);

if($put_content)
    echo "Я удалил блин 5 последних символов из файла";
else
    echo "LOL!!!";


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Stasonix
Цитата (Игорь_Vasinsky @ 5.09.2011 - 15:48)
там вообще моя опечатка (исправленная)
Цитата
file_put_content


Выполни

$get_content = substr(file_get_contents('urlimg.txt', 0, -5));
$put_content = file_put_contents('urlimg.txt', $get_content);

if($put_content)
echo "Я удалил блин 5 последних символов из файла";
else
echo "LOL!!!";

выполнил по разному даже, с открытым/закрытым перед тем как...
итог: в файл ничего не записалось, файл пустой.

Давайте лучше над JS по шаманим, а?
Игорь_Vasinsky
Так у тя путь к файлу не прописан... это был грубый пример, по логике надобыло проверить что данные считались и чтоб записались. ну блин... и даже ошибок нету :D

ну замени

Цитата
for (i = 0; i < items.length; i++) {


на

 for (i = 0; i < items.length - 1; i++) {
<_<


_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.