Заходишь на форум и проверяешь, если походит то значит подходит, если нет подходит значит нет А если проверять по средствам php то нужно знать какой имено форум. и к нему писать уже...
Ну приблизительно так PHP: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // $url урл до форума curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $post); // Перемены которые передаются при входи на форум $tmp = curl_exec($ch); curl_close ($ch); $out_tmp = str_replace(array("\r\n","\t","\n"), '', $tmp); // strstr не может обработать переход строки, и использовать регулярки в ломы if (strstr($out_tmp,'Тут мы ищим то что может сказать что мы залогинились:)')) { echo '- Ура мы вошли нежно и окуратно в форум<br>'; } else { echo '- Да не получается у нас войти окуратно:(<br>'; } Это так пример того как можно проверить... думаю если надо будет сам додумаешься как можно доделать..
Специально для 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>'; } ?>
Есть сайт, есть право на запись в одну диру, нужен скрипт чтобы сделать бэкап сайта в эту диру в виде архива. Как это сделать не используя системных комманд?
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"; ?> как-то он мне очень помог
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 архив всех файлов в той директории, где скрипт Подправь ^^
Я в пхп дибил, вот у меня такой вопрос: что нужно написать что бы когда заходиш на страничку, типа ввв.мой_сайт.ком и броузер сразу предлагал сохранить файл? Создал 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 А когда открываю эту страничку в броузере нечего непроисходит, шо мине делать?
АНЕЕЕЕЕЕТ! Стой header(); нужно писать в самое начала файла, т.е. до открытия <html> PHP: <?php header(); ?> <html> <head> <title>хз</title> </head> <body> Скачивание... </body> </html> А вообще грамотней будет делать на JavaScript
PHP: <?php $file = "______105.rar "; $size = filesize($file); header("Content-Type: application/x-rar-compressed"); header("Content-Disposition: attachment; filename=".$file); header("Content-Length: ".$size); readfile($file); ?>