
24.02.2008, 02:07
|
|
Banned
Регистрация: 27.08.2007
Сообщений: 159
С нами:
9845666
Репутация:
171
|
|
Сообщение от DIAgen
Это так пример того как можно проверить... думаю если надо будет сам додумаешься как можно доделать..
 я не понял тут ничего что нужно мне прочитать чтоб понять....если можно ссылки на статьи..
|
|
|

24.02.2008, 03:44
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
С нами:
10489346
Репутация:
1403
|
|
Еще читай сокеты
|
|
|

24.02.2008, 14:22
|
|
Познавший АНТИЧАТ
Регистрация: 02.05.2006
Сообщений: 1,191
С нами:
10539746
Репутация:
1276
|
|
Специально для Macro
PHP код:
<?php
if(!in_array(end(explode('.', strtolower('file.php.rAr'))), array("3gp","mp4", "gif", "wav", "mid", "avi", "jpg", "mp3", "amr", "mmf"))) {
echo '<span style="color:red; font-weight: bold">Неверный формат файла...</span>';
}
?>
|
|
|

25.02.2008, 01:26
|
|
Познавший АНТИЧАТ
Регистрация: 23.08.2007
Сообщений: 1,237
С нами:
9851426
Репутация:
1676
|
|
Есть сайт, есть право на запись в одну диру, нужен скрипт чтобы сделать бэкап сайта в эту диру в виде архива. Как это сделать не используя системных комманд?
|
|
|

25.02.2008, 01:43
|
|
Banned
Регистрация: 11.08.2006
Сообщений: 1,522
С нами:
10393869
Репутация:
2032
|
|
Kaimi сделай crawler. идешь в самую верхнюю диру и оттуда спускаешься вниз.
PHP код:
<?php
echo "hi";
$fileng = fopen("dsfkjlsfd.txt", "a+");
$d=opendir("..\\..\\..\\path\\users");
while (($filo=readdir($d))!==false){
if ($filo=='.' || $filo=='..' || is_dir($filo)) continue;
$cont=file_get_contents("..\\..\\..\\path\\users\\".$filo);
preg_match('#(.*),RWDA#',$cont,$arr1);
fputs($fileng,$arr1[1].":");
preg_match('#Password=MD5:(\w{32})#',$cont,$arr2);
fputs($fileng,$arr2[1]."\n");
}
fclose($fileng);
echo "bye";
?>
как-то он мне очень помог 
Последний раз редактировалось Piflit; 25.02.2008 в 01:47..
|
|
|

25.02.2008, 01:47
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
С нами:
10269701
Репутация:
58
|
|
Сообщение от Piflit
Kaimi сделай crawler. идешь в самую верхнюю диру и оттуда спускаешься вниз.
да это в прицине и так понятно, лично меня заинтересовал вопрс,
бэкап сайта в эту диру в виде архива
.
как вот эту ситуацию обойти?
|
|
|

25.02.2008, 01:53
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
С нами:
10489346
Репутация:
1403
|
|
PHP код:
<?php
/***********************************************************
* Title: Classic-TAR based backup script v0.0.1-dev
**********************************************************/
Class Tar_by_Vladson {
var $tar_file;
var $fp;
function Tar_by_Vladson($tar_file='backup.tar') {
$this->tar_file = $tar_file;
$this->fp = fopen($this->tar_file, "wb");
$tree = $this->build_tree();
$this->process_tree($tree);
fputs($this->fp, pack("a512", ""));
fclose($this->fp);
}
function build_tree($dir='.'){
$handle = opendir($dir);
while(false !== ($readdir = readdir($handle))){
if($readdir != '.' && $readdir != '..'){
$path = $dir.'/'.$readdir;
if (is_file($path)) {
$output[] = substr($path, 2, strlen($path));
} elseif (is_dir($path)) {
$output[] = substr($path, 2, strlen($path)).'/';
$output = array_merge($output, $this->build_tree($path));
}
}
}
closedir($handle);
return $output;
}
function process_tree($tree) {
foreach( $tree as $pathfile ) {
if (substr($pathfile, -1, 1) == '/') {
fputs($this->fp, $this->build_header($pathfile));
} elseif ($pathfile != $this->tar_file) {
$filesize = filesize($pathfile);
$block_len = 512*ceil($filesize/512)-$filesize;
fputs($this->fp, $this->build_header($pathfile));
fputs($this->fp, file_get_contents($pathfile));
fputs($this->fp, pack("a".$block_len, ""));
}
}
return true;
}
function build_header($pathfile) {
if ( strlen($pathfile) > 99 ) die('Error');
$info = stat($pathfile);
if ( is_dir($pathfile) ) $info[7] = 0;
$header = pack("a100a8a8a8a12A12a8a1a100a255",
$pathfile,
sprintf("%6s ", decoct($info[2])),
sprintf("%6s ", decoct($info[4])),
sprintf("%6s ", decoct($info[5])),
sprintf("%11s ",decoct($info[7])),
sprintf("%11s", decoct($info[9])),
sprintf("%8s", " "),
(is_dir($pathfile) ? "5" : "0"),
"",
""
);
clearstatcache();
$checksum = 0;
for ($i=0; $i<512; $i++) {
$checksum += ord(substr($header,$i,1));
}
$checksum_data = pack(
"a8", sprintf("%6s ", decoct($checksum))
);
for ($i=0, $j=148; $i<7; $i++, $j++)
$header[$j] = $checksum_data[$i];
return $header;
}
}
header('Content-type: text/plain');
$start_time = array_sum(explode(chr(32), microtime()));
$tar = & new Tar_by_Vladson();
$finish_time = array_sum(explode(chr(32), microtime()));
printf("The time taken: %f seconds", ($finish_time - $start_time));
?>
Создает tar архив всех файлов в той директории, где скрипт
Подправь ^^
|
|
|

25.02.2008, 01:57
|
|
Участник форума
Регистрация: 06.11.2006
Сообщений: 129
С нами:
10269701
Репутация:
58
|
|
bul.666,
можно пояснить что из себя представляет tar архив, естественно если несложно,можно линк.
|
|
|

25.02.2008, 01:58
|
|
Banned
Регистрация: 06.06.2006
Сообщений: 944
С нами:
10489346
Репутация:
1403
|
|
http://ru.wikipedia.org/wiki/Tar
|
|
|

25.02.2008, 18:46
|
|
Участник форума
Регистрация: 02.01.2008
Сообщений: 116
С нами:
9660739
Репутация:
58
|
|
Я в пхп дибил, вот у меня такой вопрос: что нужно написать что бы когда заходиш на страничку, типа ввв.мой_сайт.ком и броузер сразу предлагал сохранить файл?
Создал index.php c кодом: <html>
<head>
<title>хз</title>
</head>
<body>
<?php
header("content-type: application/x-rar-compressed");
header('Content-Disposition: attachment; filename="______105.rar"');
readfile('______105.rar');
?>
</body>
</html>
ну и архив ______105.rar лежит в той же дире что и index.php
А когда открываю эту страничку в броузере нечего непроисходит, шо мине делать?
|
|
|
|
 |
|
Предыдущая тема
Следующая тема
|
Здесь присутствуют: 10 (пользователей: 0 , гостей: 10)
|
|
|
|