ANTICHAT — форум по информационной безопасности, OSINT и технологиям
ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию.
Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club,
и теперь снова доступен на новом адресе —
forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.

10.02.2008, 12:21
|
|
Познавший АНТИЧАТ
Регистрация: 02.06.2006
Сообщений: 1,188
Провел на форуме: 6023777
Репутация:
2642
|
|
Кельт, 28 символов от каждой строки?
Если да, то юзай такой код.
PHP код:
<?php
$file = file_get_contents('file.txt');
$new_file = '';
foreach(explode("\n", $file) as $str) {
$new_file .= substr($str, 27)."\n";
}
$file = fopen('new_file.txt', 'w');
fwrite($file, $new_file);
fclose($file);
?>
file.txt - файл с твоими строками, new_file.txt - обработанный файл. Права на файл new_file.txt должны быть 0777.
Последний раз редактировалось NOmeR1; 10.02.2008 в 12:29..
|
|
|

10.02.2008, 13:52
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
Если нет, то такой:
PHP код:
<?php
$file = file_get_contents('file.txt');
$new_file = substr($file, -28);
$file = fopen('new_file.txt', 'w+');
fwrite($file, $new_file);
fclose($file);
?>
|
|
|

10.02.2008, 16:54
|
|
Флудер
Регистрация: 21.06.2006
Сообщений: 3,193
Провел на форуме: 12702287
Репутация:
4738
|
|
Надо создать файл для последующего корректного использования в mysql> LOAD DATA INFILE "data.txt" INTO TABLE my_table;
Вообщем столбцы должны быть разделены символом табуляции (0х09), но надо ли заключать сами данные в кавычки и в какие, одинарные или двойные?
PHP код:
$string=$pass.chr(9).$code1.chr(9).$code2.chr(9).$code3.chr(9).$code4.'\n';
Дело в том что строковые переменные $code1-4 могут содержать спецсимволы (в том числе и символ табуляции и кавычки). Ввобщем как быть? Добавить экранирование спецсимволов в $code1-4? Или создать свой формат и потом использовать опции функции LOAD DATA INFILE
Код:
[FIELDS
[TERMINATED BY '\t']
[[OPTIONALLY] ENCLOSED BY '']
[ESCAPED BY '\\' ]
]
[LINES TERMINATED BY '\n']
|
|
|

10.02.2008, 17:03
|
|
Флудер
Регистрация: 20.11.2006
Сообщений: 3,316
Провел на форуме: 16641028
Репутация:
2371
|
|
-=lebed=-=, при записи делать $str = str_replace("\t", " ", $str);
Кавычки при записи экранировать, при выводе - stripslashes
И еще \n должен быть в двойных кавычках, а не одинарных
|
|
|

10.02.2008, 19:49
|
|
Новичок
Регистрация: 04.07.2007
Сообщений: 16
Провел на форуме: 109029
Репутация:
22
|
|
NOmeR1, да в каждой строке =) но твой скрипт удаляет первые 28 символов, а мне надо что бы оставались именно последние 28 =(
ага, просто заменил:
PHP код:
$new_file .= substr($str, 27)."\n";
на
PHP код:
$new_file .= substr($str, -29)."\n";
и все получилось лучше некуда =) спасибо =)
Последний раз редактировалось Кельт; 10.02.2008 в 20:01..
|
|
|

11.02.2008, 07:23
|
|
Members of Antichat - Level 5
Регистрация: 02.11.2006
Сообщений: 781
Провел на форуме: 5939734
Репутация:
1917
|
|
-=lebed=-, данные не надо заключать не в какие кавычки, более того если ты их заключишь в кавычки, то и кавычки запишутся в поле данных (вместе с данными), переменные $code1-4 советую парсить на предмет табуляции до занесения в файл (например с помощью str_replace) т.к. наличие лишней табуляции нарушит структуру вносимых данных, т.е. LOAD DATA INFILE равномерно заносит из файла данные, которые начинаются от начала строки, далее находятся между табуляциями и до конца строки (конечно если использовать опции LOAD DATA INFILE поумолчанию, причем опции по умолчанию ты привел в своем посте) ну вот как то так, если ты ничего не понял (мой косяк) то стучи в осику, знаю как помочь
__________________
Карфаген должен быть разрушен...
|
|
|

11.02.2008, 13:51
|
|
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
Провел на форуме: 1122391
Репутация:
209
|
|
<?php
$file = file('file.txt');
for($i=0;$i<count($file):$i++)
{
$site="http://microsoft.com";
include("$site"."$file[$i]");
}
?>
Почему добавляет в при инклуде в конец урла __ (подчеркивание) ?
|
|
|

11.02.2008, 14:28
|
|
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме: 3660186
Репутация:
905
|
|
Что означает двоеточие в for()?
PHP код:
...
for($i=0;$i<count($file):$i++)
...
Кроме того, переменную $site желательно вынести за пределы цикла (перед ним) и запихать выражение count($file) в какую-нить переменную (во избежании инвариантов), например
PHP код:
<?php
$file = file('file.txt');
$site="http://microsoft.com";
$cnt=count($file);
for ($i = 0; $i < $cnt; $i++)
{
include($site . $file[$i]);
}
?>
ну или так =)
PHP код:
<?php
$file = file('file.txt');
for ($i = 0, $site="http://microsoft.com", $cnt=count($file); $i < $cnt; $i++)
{
include($site . $file[$i]);
}
?>
А подчеркивания, вероятно, в файле прописаны
|
|
|

11.02.2008, 14:47
|
|
Участник форума
Регистрация: 01.12.2007
Сообщений: 141
Провел на форуме: 1208190
Репутация:
136
|
|
ИМХО в цикле for() в твоём случае двоеточий никогда не было и быть не может..
|
|
|

11.02.2008, 14:53
|
|
Участник форума
Регистрация: 14.04.2007
Сообщений: 197
Провел на форуме: 1122391
Репутация:
209
|
|
Сообщение от 0x22b
ИМХО в цикле for() в твоём случае двоеточий никогда не было и быть не может..
Маладец.... я думаю и так понятно что опечатка, в файле нету никаких подчеркиваний...
|
|
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|