Регистрация Главная Сообщество
Сообщения за день Справка Регистрация

С .txt файлом на сервере!

-

Вопросы и ответы, обсуждения

- Ваши вопросы по Web-программированию только в данном разделе

Ответ
 
Опции темы
Старый 06.09.2011, 17:23   #1
 Сержант
Аватар для ma_za_xa_ka
 
ma_za_xa_ka на правильном путиma_za_xa_ka на правильном пути
Регистрация: 14.06.2011
Сообщений: 124
Популярность: 142
Сказал(а) спасибо: 71
Поблагодарили 70 раз(а) в 36 сообщениях
Отправить сообщение для ma_za_xa_ka с помощью ICQ Отправить сообщение для ma_za_xa_ka с помощью Skype™
 
Exclamation С .txt файлом на сервере!

Допустим на сервере у меня есть .txt файл! В yqv есть текст:
Цитата:
5464
5646
78997

Допустим мне нужно убрать 5646 и чтобы стало так:
Цитата:
5464
78997

Подскажите такой .php код и скажите какой нужно посмылать запрос чтобы это произошло нормально!
  Ответить с цитированием
Старый 07.09.2011, 19:26   #2
 Разведчик
Аватар для Koka90
 
Koka90 никому не известный тип
Регистрация: 10.07.2011
Сообщений: 24
Популярность: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
Отправить сообщение для Koka90 с помощью ICQ Отправить сообщение для Koka90 с помощью Skype™
 
По умолчанию Re: С .txt файлом на сервере!

[Ссылки могут видеть только зарегистрированные пользователи. ]
Прочти внимательно
  Ответить с цитированием
Пользователь сказал cпасибо:
ma_za_xa_ka (10.09.2011)
Старый 10.09.2011, 17:54   #3
 Сержант
Аватар для ma_za_xa_ka
 
ma_za_xa_ka на правильном путиma_za_xa_ka на правильном пути
Регистрация: 14.06.2011
Сообщений: 124
Популярность: 142
Сказал(а) спасибо: 71
Поблагодарили 70 раз(а) в 36 сообщениях
Отправить сообщение для ma_za_xa_ka с помощью ICQ Отправить сообщение для ma_za_xa_ka с помощью Skype™
 
По умолчанию Re: С .txt файлом на сервере!

Koka90, ну а допустим мне нужно убрать определённый текст
  Ответить с цитированием
Старый 12.09.2011, 15:12   #4
 Разведчик
Аватар для Koka90
 
Koka90 никому не известный тип
Регистрация: 10.07.2011
Сообщений: 24
Популярность: 12
Сказал(а) спасибо: 3
Поблагодарили 1 раз в 1 сообщении
Отправить сообщение для Koka90 с помощью ICQ Отправить сообщение для Koka90 с помощью Skype™
 
По умолчанию Re: С .txt файлом на сервере!

Считал содержимое файла в строку->убрал что нужно->перезаписал файл.
  Ответить с цитированием
Старый 13.09.2011, 12:55   #5
 Разведчик
Аватар для Fiery Dragon
 
Fiery Dragon на правильном путиFiery Dragon на правильном пути
Регистрация: 25.12.2009
Сообщений: 29
Популярность: 145
Сказал(а) спасибо: 4
Поблагодарили 34 раз(а) в 20 сообщениях
 
По умолчанию Re: С .txt файлом на сервере!

повторяющиеся строки удалить из файла?

PHP код:
<?php 
$file1
=$_SERVER['DOCUMENT_ROOT'].'/1.txt';  //путь до файла
$file2=$_SERVER['DOCUMENT_ROOT'].'/2.txt';  
$f1=fopen($file1,'r'); 
$f2=fopen($file2,'w'); 
$str_array = array(); 
while(
$str=fgets($f1,1024))
{   
    
$str_array[] =  trim($str);
}
 
$str_array array_unique($str_array);//оставляем уникальные значения
 
foreach ($str_array as $item//записываем уникальные значения в другой файл
{
    
fputs($f2,$item."\r\n");

?>
Добавлено через 26 минут
Цитата:
Сообщение от ma_za_xa_kaПосмотреть сообщение
Koka90, ну а допустим мне нужно убрать определённый текст

упс, не заметил,тогда:

PHP код:
<?

$file=file("num.txt");//файл с числами
@$file2=fopen("correct.txt","w+");// создаём файл, в который записывать то что надо будем

$searchstring="123";//или $searchstring=$_GET['searchstring'];//задаём строку поиска

for ($i=0;$i<sizeof($file);$i++)
    {
        if(strstr($file[$i],$searchstring))
            {
                unset($file[$i]);
            }
    }
foreach ($file as $item) //записываем уникальные значения в другой файл 

    fputs($file2,$item."\r\n"); 

?>

Последний раз редактировалось Fiery Dragon; 13.09.2011 в 13:22. Причина: Добавлено сообщение
  Ответить с цитированием
Пользователь сказал cпасибо:
ma_za_xa_ka (16.09.2011)
Старый 15.09.2011, 04:53   #6
 Разведчик
Аватар для wext01
 
wext01 на правильном пути
Регистрация: 04.09.2011
Сообщений: 2
Популярность: 20
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 5 сообщениях
 
По умолчанию Re: С .txt файлом на сервере!

Если лень читать кучу текста, то читай последний код.

Цитата:
Сообщение от Fiery DragonПосмотреть сообщение
PHP код:
$file=file("num.txt");//файл с числами
@$file2=fopen("correct.txt","w+");// создаём файл, в который записывать то что надо будем

$searchstring="123";//или $searchstring=$_GET['searchstring'];//задаём строку поиска

for ($i=0;$i<sizeof($file);$i++)
    {
        if(
strstr($file[$i],$searchstring))
            {
                unset(
$file[$i]);
            }
    }
foreach (
$file as $item//записываем уникальные значения в другой файл 

    
fputs($file2,$item."\r\n"); 


Все бы хорошо, но:
1) @ перед $file2? o_O
2) Зачем открывать $file2 для чтения и записи? Достаточно одной записи.
3) Везде двойные кавычки //нашел к чему придраться, но все-таки
4) sizeof($file) в цикле - это мощно. Т.е. каждую итерацию массив будет пересчитываться.
В принципе размер массива нам тут даже и не нужен.
5) Далее strstr - поиск текста в строке? Очередной ненужный цикл
6) $item."\r\n" - ты же не удалил \n, куда пихаешь еще один? В итоге файл получается чересстрочным.
7) Не закрыл ресурс $file2

Варианты:
1) Указанный выше:
PHP код:
$file  file($read);
@
$file2fopen($write'w+');

$searchstring='atata';

for (
$i=0;$i<sizeof($file);$i++) 
{
    if(
strstr($file[$i],$searchstring)) 
    {
        unset(
$file[$i]); 
    }
}
foreach (
$file as $item)
{
    
fputs($file2$item."\r\n");  
}
fclose($file2); 
2) Оптимизированный первый пункт:
PHP код:
$file array_map('trim'file($read));
$searchstring 'asdf';

for (
$i=0; isset($file[$i]); $i++)
    if (
$file[$i] == $searchstring
        unset(
$file[$i]); 

$file2 fopen($write'w');
foreach (
$file as $itemfputs($file2$item."\r\n");  
fclose($file2); 
3) Коротко и лаконично через замену строки (str_replace) и без использования циклов и fwrite\fputs:
PHP код:
$array "asdf\r\n";
if (
$file file_get_contents($read))
    
file_put_contents($writestr_replace($array''$file)); 
4) Немного извращенный вариант через поиск ключа (array_search) и объединение (implode)
PHP код:
if ($file file($read))
{
    
$file array_map('trim'$file);
    
$array 'asdf';
    
$key array_search($array$file);
    if (
$key !== false) unset($file[$key]);
    
file_put_contents($writeimplode("\r\n"$file));

Где:
PHP код:
$read  './file_read.txt'//файл для чтения
$write './file_write.txt'//файл для записи 
Время исполнения при одиночных обработках:
1: 1.634 мСек
2: 1.073 мСек
3: 0.762 мСек
4: 0.898 мСек

Время исполнения по 100 раз:
1: 83.465 мСек
2: 81.351 мСек
3: 70.223 мСек
4: 75.231 мСек

При этом 3 метод можно просто и безболезненно переделать под удаление сразу нескольких элементов.


Если не читать весь бред что выше, то оптимальным вариантом является сие:
PHP код:
$read  './file_read.txt'//файл для чтения
$write './file_write.txt'//файл для записи
$array "asdf\r\n"//что удаляем
if ($file file_get_contents($read))
    
file_put_contents($writestr_replace($array''$file)); 
  Ответить с цитированием
Пользователь сказал cпасибо:
ma_za_xa_ka (16.09.2011)
Старый 16.09.2011, 16:10   #7
 Разведчик
Аватар для wext01
 
wext01 на правильном пути
Регистрация: 04.09.2011
Сообщений: 2
Популярность: 20
Сказал(а) спасибо: 0
Поблагодарили 5 раз(а) в 5 сообщениях
 
По умолчанию Re: С .txt файлом на сервере!

Кстати, если появится необходимость в удалении сразу нескольких значений, то последний код будет выглядеть так:
PHP код:
$read  './file_read.txt';
$write './file_write.txt';
$array = array("asdf\r\n""atata\r\n""lolbot\r\n");
if (
$file file_get_contents($read)) 
    
file_put_contents($writestr_replace($array''$file)); 
Если ты берешь данные от куда-то (допустим из базы или из запроса):
PHP код:
$read  './file_read.txt';
$write './file_write.txt';
//Предполагаем что массив $array уже есть и он такого вида: array('asdf', 'qwerty', 'atata');
for($i=0; isset($array[$i]); $i++) $array[$i] .= "\r\n";
if (
$file file_get_contents($read)) 
    
file_put_contents($writestr_replace($array''$file)); 
  Ответить с цитированием
Старый 02.10.2011, 18:40   #8
 Сержант
Аватар для ma_za_xa_ka
 
ma_za_xa_ka на правильном путиma_za_xa_ka на правильном пути
Регистрация: 14.06.2011
Сообщений: 124
Популярность: 142
Сказал(а) спасибо: 71
Поблагодарили 70 раз(а) в 36 сообщениях
Отправить сообщение для ma_za_xa_ka с помощью ICQ Отправить сообщение для ma_za_xa_ka с помощью Skype™
 
По умолчанию Re: С .txt файлом на сервере!

wext01, можешь собрать пожалуйста всё во едино! а то я на php не програмирую, это нужно для программы на другом языке
  Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Информация] 2в1! вх+обход 1 файлом! без всяких заморочек! popika Общение и обсуждение CrossFire 45 18.12.2011 17:35
+90 доджа файлом RFmaster Rising Force Online 1 23.03.2009 13:24

Заявление об ответственности / Список мошенников

Часовой пояс GMT +4, время: 22:09.

Пишите нам: forum@zhyk.ru
Copyright © 2025 vBulletin Solutions, Inc.
Translate: zCarot. Webdesign by DevArt (Fox)
G-gaMe! Team production | Since 2008
Hosted by GShost.net