Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Разное - помогите с php

Ответить
Настройки темы
Разное - помогите с php

Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Помогите ктонить плиз.
Нужно на php написать такой код, чтобы он проверял не изменился ли файл по размекру не удалился и т.д.
Короче чтобы нельзя было изменить файл или удалить его файл будет находится на хостинге на котором каждый может записывать файлы и удалять любые другие.

-------
Хочу научиться писать драйвера на с++


Отправлено: 19:33, 19-08-2008

 

Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Ну допустим - изменился или удалился. Что должен сделать скрипт?

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 19:56, 19-08-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Igor_I, скрипт должен перезакачать файл заново если с ним чтото стало.

-------
Хочу научиться писать драйвера на с++


Отправлено: 19:58, 19-08-2008 | #3


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Компьютер выполнят только то, что скажет человек, а он должен предусмотреть все случаи.
Код примерно такой

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 недоступен для записи";
    }


-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:55, 19-08-2008 | #4


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Igor_I, объясните плиз, скрипт видит есть ли файл на сервере или нет, а мне нужно чтобы он с сервера закачивал файл на ip в котором разрешено добавлять файлы без всяких паролей допустим так \\127.0.0.1\new\ когда на сервер закачается файл то чтобы он постоянно проверял не изменился ли файл? Можно так? Или нужно будет постоянно заходить на страницу php чтобы скрипт выполнял проверку?
А этот скрипт выполняет только проверку. Есть ли файл или нет.

-------
Хочу научиться писать драйвера на с++


Отправлено: 22:12, 19-08-2008 | #5


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Скрипт проверки забиваем в nncron или в планоровщик.
Но работоспособность скрипта я не проверял. Сейчас может попробуем.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 20:03, 21-08-2008 | #6


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Какой
Цитата Igor_I:
nncron или в планоровщик »
?????
Мне нужно чтобы работало на сервере и запрещало удалять файл или изменять, который лежит на другом сервере на другом сервере.

-------
Хочу научиться писать драйвера на с++


Отправлено: 20:09, 21-08-2008 | #7


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


Запретить удалить файл могут только права на этот файл, то есть отсутствие прав на удаление файла. В твоем случае этого нет, а значит только проверка на наличие файла, есть он или нет.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 20:42, 21-08-2008 | #8


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


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 нету!!!. Что делать дальше - не знаю!!!"
    }
}
?>

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:48, 21-08-2008 | #9


Аватара для morgan1991

Старожил


Сообщения: 398
Благодарности: 13

Профиль | Сайт | Отправить PM | Цитировать


Чтото не работает:
Файл 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 нету!!!. Что делать дальше - не знаю!!!";
}
}
?>

-------
Хочу научиться писать драйвера на с++


Отправлено: 22:37, 21-08-2008 | #10



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Разное - помогите с php

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Помогите с регулярным выражением в PHP tolbol Вебмастеру 1 30-03-2009 20:02
Разное - помогите новичку!! PHP + MySQL tralfamador Программирование и базы данных 2 13-09-2007 17:02
PHP: помогите с регулярным выражением ams Вебмастеру 3 01-08-2005 15:00
Помогите в Win2003 включить поддержку php Nemiroff original Microsoft Windows NT/2000/2003 9 22-06-2005 13:47
Помогите найти информацию о PHP diter Вебмастеру 4 08-07-2003 18:26




 
Переход