[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: [Помощь] Нужна помощь.
lock5126
Здравствуйте, господа. Собственно нужна помощь (в php я полностью ноль, но очень нужна эта вещь).
1 Вариант:
Пользователь переходит по ссылке типа: http://site/script.php?[КАКОЙТО ТЕКСТ]
И делается следующее: добавляется этот [КАКОЙТО ТЕКСТ] в виде новой строки в http://site/2.txt (просто добавляется, ничего лишнего). Например: юзер перешел по http://site/script.php?1234567 . в http://site/2.txt было 654321 а стало: 654321 [переход на новую строку]1234567.
2 Вариант посложнее:
Пользователь переходит по ссылке типа: http://site/script.php?[КАКОЙТО ТЕКСТ]
И делается следующее: if 1.txt содержит [КАКОЙТО ТЕКСТ], то в 2.txt добавляется [КАКОЙТО ТЕКСТ] с новой строчки.
Заранее спасибо, надеюсь поможите.



Спустя 17 минут, 1 секунда (31.01.2012 - 20:52) Игорь_Vasinsky написал(а):
чёт вообще ни чё не понял. смысл в чём?

Спустя 37 минут, 59 секунд (31.01.2012 - 21:30) redreem написал(а):
ну тут полюбому нужен какой-то скрипт

Спустя 15 минут, 10 секунд (31.01.2012 - 21:45) alex12060 написал(а):
Свернутый текст

abstract class Main {
abstract static function file($file, $mode);

abstract static function write(&$file, $data);

abstract static function get($file);

abstract static function close(&$file);

abstract protected static function is_writable();

final private function __clone() {}
}


class Writer extends Main {

protected static $_instance = null;

protected $_data = array();

protected $_cache = '';

public static $_path = '';

final private function __construct($path) {
self::$_path = $_SERVER['DOCUMENT_ROOT'].str_replace(chr(0), '', $path);

echo self::$_path;
}

public static function init($path) {

return (self::$_instance === null)
?
self::$_instance = new self($path)
:
self::$_instance;

}

public function _path($path = '') {
if ($path != '')
self::$_path = $_SERVER['DOCUMENT_ROOT'].str_replace(chr(0), '', $path);
else
return
!empty(self::$_path) ? self::$_path : NULL;

return self::$_path;
}

protected static function is_writable() {

if (self::$_path) {
return is_writable(self::$_path);
}
}


public static function file($file, $mode = 'a+') {
if ($file) {
$pfile = self::_path($file);
if (file_exists($pfile)) {
try {
$fp = fopen($pfile, $mode);
} catch (Exception $e) { }

return $fp;
} else
return
false;
} else
return
false;
}

public static function write(&$file, $data, $add_rn = false) {
if (is_resource($file)) {
if (!empty($data) && Writer::is_writable()) {
try {
fwrite($file, ($add_rn == false ? $data : $data.PHP_EOL));
} catch ( Exception $e) { }

return true;
} else
return
false;
} else
return
false;

return;
}

public static function get($file = '') {
if (empty($file))
return null;
else
$file = self::file($file);

if (is_resource($file)) {
$res = '';

try {
while(!feof($file))
$res .= fread($file, 8096);
} catch ( Exception $e) { }

}
else
return
false;

Writer::close(&$file);

return $res;
}

public static function close(&$file) {
if (is_resource($file))
fclose($file);
else
return
null;

return true;
}

}


$file = 'cookies.txt';

$fp = Writer::file($file);

Writer::write(&$fp, 'Hello!');

Writer::close(&$fp);

echo Writer::get($file);

Спустя 39 минут, 48 секунд (31.01.2012 - 22:25) inpost написал(а):
lock5126
Составьте более понятное Т/з и укажите вознаграждение за работу. Бесплатно не работаем.

Спустя 49 секунд (31.01.2012 - 22:26) Игорь_Vasinsky написал(а):
alex12060
сходу? или диагноз схож? smile.gif

Спустя 1 минута, 11 секунд (31.01.2012 - 22:27) alex12060 написал(а):
Игорь_Vasinsky

Ну я только первое понял задание, второе размытое и я не стал писать smile.gif

Спустя 37 минут, 18 секунд (31.01.2012 - 23:04) m4a1fox написал(а):
Вопрос снят.

Спустя 4 минуты, 47 секунд (31.01.2012 - 23:09) inpost написал(а):
m4a1fox
Человеку ведь помогли, вот он первое задание и отнесёт завтра своему учителю 9-ого класса по информатике smile.gif
И что интересно, информатик даже код смотреть не будет, просто поставит 5-у и всё! И получается, что не Алекс натупил ТС, а ТС натупил Алекса smile.gif

Спустя 18 минут, 18 секунд (31.01.2012 - 23:27) m4a1fox написал(а):
inpost
тем не менее Алекс наверно лишний раз потренироваться в ооп... конечно, если он не владеет им в идеале....а если наоборот, то ты пожалуй прав....

Меня вот такой вопрос по коду... просто уточнение, дабы плотно запомнить...

public static function write(&$file, $data, $add_rn = false) {
if (is_resource($file)) {
if (!empty($data) && Writer::is_writable()) {
try {
fwrite($file, ($add_rn == false ? $data : $data.PHP_EOL));
} catch ( Exception $e) { }

return true;
} else
return
false;
} else
return
false;

return;
}


Почему в коде делаем так? Writer::is_writable() а не так self::is_writable()????

Спустя 2 часа, 28 минут, 57 секунд (1.02.2012 - 01:56) SlavaFr написал(а):
@alex12060 я в общем против ооп ни чего не имею, но твой код можно заменить на
flie_put_contents($filename,$string."\n",FILE_APPEND);

Спустя 24 минуты, 27 секунд (1.02.2012 - 02:21) inpost написал(а):
SlavaFr
Так это всё для того, чтобы сделать для ТС хуже, а не лучше smile.gif

Спустя 4 часа, 1 минута, 22 секунды (1.02.2012 - 06:22) Гость_alex12060 написал(а):
m4a1fox

Можно и так и так smile.gif
Быстрый ответ:

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