-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
morgan1991 |
19-08-2008 19:33 878923 |
помогите с php
Помогите ктонить плиз.
Нужно на php написать такой код, чтобы он проверял не изменился ли файл по размекру не удалился и т.д.
Короче чтобы нельзя было изменить файл или удалить его файл будет находится на хостинге на котором каждый может записывать файлы и удалять любые другие.
|
Igor_I |
19-08-2008 19:56 878938 |
Ну допустим - изменился или удалился. Что должен сделать скрипт?
|
morgan1991 |
19-08-2008 19:58 878939 |
Igor_I, скрипт должен перезакачать файл заново если с ним чтото стало.
|
Igor_I |
19-08-2008 21:55 879038 |
Компьютер выполнят только то, что скажет человек, а он должен предусмотреть все случаи.
Код примерно такой
PHP код:
$filename = '/path/to/foo.txt';
if (file_exists($filename)) {
echo "The file $filename exists";
} else {
echo "The file $filename does not exist";
$somecontent = "Добавить это к файлу\n";
// Вначале убедимся, что файл существует и доступен для записи.
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'w')) {
echo "Не могу открыть файл ($filename)";
exit;
}
// Записываем $somecontent в наш открытый файл.
if (fwrite($handle, $somecontent) === FALSE) {
echo "Не могу произвести запись в файл ($filename)";
exit;
}
echo "Ура! Записали ($somecontent) в файл ($filename)";
fclose($handle);
} else {
echo "Файл $filename недоступен для записи";
}
}
|
morgan1991 |
19-08-2008 22:12 879057 |
Igor_I, объясните плиз, скрипт видит есть ли файл на сервере или нет, а мне нужно чтобы он с сервера закачивал файл на ip в котором разрешено добавлять файлы без всяких паролей допустим так \\127.0.0.1\new\ когда на сервер закачается файл то чтобы он постоянно проверял не изменился ли файл? Можно так? Или нужно будет постоянно заходить на страницу php чтобы скрипт выполнял проверку?
А этот скрипт выполняет только проверку. Есть ли файл или нет.
|
Igor_I |
21-08-2008 20:03 880711 |
Скрипт проверки забиваем в nncron или в планоровщик.
Но работоспособность скрипта я не проверял. Сейчас может попробуем.
|
morgan1991 |
21-08-2008 20:09 880716 |
Какой
Цитата:
Цитата Igor_I
nncron или в планоровщик »
|
?????
Мне нужно чтобы работало на сервере и запрещало удалять файл или изменять, который лежит на другом сервере на другом сервере.
|
Igor_I |
21-08-2008 20:42 880738 |
Запретить удалить файл могут только права на этот файл, то есть отсутствие прав на удаление файла. В твоем случае этого нет, а значит только проверка на наличие файла, есть он или нет.
|
Igor_I |
21-08-2008 21:48 880786 |
PHP код:
<?php
$filename = '\\\igorserver\tmp\ipfw.txt';
$source = 'C:\Program Files\Apache Group\Apache\htdocs\ipfw.txt';
$newfile = '\\\igorserver\tmp\ipfw.txt';
if (file_exists($filename)) {
echo "Файл $filename еще на месте. \n";
} else {
echo "Файл $filename уже удален. \n";
if (file_exists($source)) {
echo "Исходный файл $source еще на месте. Можно его скопировать.";
$copy = file_get_contents ($source);
file_put_contents ($newfile, $copy);
} else {
echo "Исходного файла $source нету!!!. Что делать дальше - не знаю!!!";
}
}
?>
|
morgan1991 |
21-08-2008 22:37 880818 |
Чтото не работает:
Файл 1\1.txt уже удален. Исходный файл 1.txt еще на месте. Можно его скопировать.
Fatal error: Call to undefined function: file_put_contents() in p:\home\phpbb\www\index.php on line 16
Цитата:
<?php
$filename = '1\1.txt';
$source = '1.txt';
$newfile = '1\1.txt';
if (file_exists($filename)) {
echo "Файл $filename еще на месте. \n";
} else {
echo "Файл $filename уже удален. \n";
if (file_exists($source)) {
echo "Исходный файл $source еще на месте. Можно его скопировать.";
$copy = file_get_contents ($source);
file_put_contents ($newfile, $copy);
} else {
echo "Исходного файла $source нету!!!. Что делать дальше - не знаю!!!";
}
}
?>
|
|
Igor_I |
21-08-2008 23:34 880868 |
Я решил что 5 версия есть у всех. Наверно глупо просить обновить версию PHP.
PHP код:
<?php
$filename = '\\\igorserver\tmp\ipfw.txt';
$source = 'C:\Program Files\Apache Group\Apache\htdocs\ipfw.txt';
$newfile = '\\\igorserver\tmp\ipfw.txt';
if (file_exists($filename)) {
echo "Файл $filename еще на месте. \n";
} else {
echo "Файл $filename уже удален. \n";
if (file_exists($source)) {
echo "Исходный файл $source еще на месте. Можно его скопировать.";
$copy = file_get_contents ($source);
if (!$handle = fopen($filename, 'a')) {
echo "Не могу открыть файл ( $filename )";
exit;
}
// Записываем $somecontent в наш открытый файл.
if (fwrite($handle, $copy) === FALSE) {
echo "Не могу произвести запись в файл ( $filename )";
exit;
}
echo "Ура! Записали в файл ( $filename )";
fclose($handle);
} else {
echo "Исходного файла $source нету!!!. Что делать дальше - не знаю!!!";
}
}
?>
|
morgan1991 |
22-08-2008 01:54 880941 |
СПС вот теперь всё норм, скажите а нельзя зделать так чтобы скрипт постоянно сам проверял есть ли фай , а не только тогда когда я захожу на страницу??
|
Igor_I |
22-08-2008 20:14 881574 |
Включаем соображалку.
Ответ был уже дан.
|
morgan1991 |
25-08-2008 14:00 883213 |
Igor_I, я имел ввиду чтобы скрипт работал сам даже если у меня выключен компьютер, на удалённом сервере.
Можно сделать так?
|
Igor_I |
25-08-2008 19:38 883575 |
|
Igor_I |
25-08-2008 19:55 883592 |
Тебе нужен сервер на котором есть PHP.
|
morgan1991 |
26-08-2008 02:31 883919 |
ну допустим я кину файлик (этот) на бесплатный хостинг поддерживающий php и все навороты
можно ли сделать чтобы скрипт работал сам без помощи автоматизаторов планировщиков????
|
XCodeR |
26-08-2008 12:47 884106 |
morgan1991, нет. Единственное, что вы можете сделать это проinclude'ить его во все страницы Вашего сайта.
|
morgan1991 |
26-08-2008 13:06 884119 |
СПС всем кто помогал
|
Время: 11:57.
© OSzone.net 2001-