[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Заходишь на форум и проверяешь, если походит то значит подходит, если нет подходит значит нет:)

    А если проверять по средствам php то нужно знать какой имено форум. и к нему писать уже...
     
  2. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    Допустим vBulletin...и что надо именно знать?
     
  3. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Ну приблизительно так
    PHP:
    $ch curl_init();
    curl_setopt($chCURLOPT_URL$url); // $url урл до форума
    curl_setopt($chCURLOPT_TIMEOUT30);
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
    curl_setopt($chCURLOPT_POST1);
    curl_setopt($chCURLOPT_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>';
    }
    Это так пример того как можно проверить... думаю если надо будет сам додумаешься как можно доделать..:)
     
    1 person likes this.
  4. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    :( я не понял тут ничего что нужно мне прочитать чтоб понять....если можно ссылки на статьи..
     
  5. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Читай
    http://www.php.net/manual/ru/ref.curl.php
     
    1 person likes this.
  6. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    Еще читай сокеты
     
  7. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    Специально для 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>';
    }
    ?> 
    :)
     
  8. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Есть сайт, есть право на запись в одну диру, нужен скрипт чтобы сделать бэкап сайта в эту диру в виде архива. Как это сделать не используя системных комманд?
     
    _________________________
  9. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    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";
    ?>
    как-то он мне очень помог ;)
     
    #2049 Piflit, 25 Feb 2008
    Last edited: 25 Feb 2008
    1 person likes this.
  10. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    да это в прицине и так понятно, лично меня заинтересовал вопрс,
    .
    как вот эту ситуацию обойти?
     
  11. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    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->fppack("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($path2strlen($path));
                    } elseif (
    is_dir($path)) {
                        
    $output[] = substr($path2strlen($path)).'/';
                        
    $output array_merge($output$this->build_tree($path));
                    }
                }
            }
            
    closedir($handle);
            return 
    $output;
        }
        function 
    process_tree($tree) {
            foreach( 
    $tree as $pathfile ) {
                if (
    substr($pathfile, -11) == '/') {
                    
    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->fpfile_get_contents($pathfile));
                    
    fputs($this->fppack("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 архив всех файлов в той директории, где скрипт
    Подправь ^^
     
  12. RedBull@12

    RedBull@12 Elder - Старейшина

    Joined:
    5 Nov 2006
    Messages:
    121
    Likes Received:
    21
    Reputations:
    5
    bul.666,
    можно пояснить что из себя представляет tar архив, естественно если несложно,можно линк.
     
  13. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    http://ru.wikipedia.org/wiki/Tar
     
    2 people like this.
  14. D1mka

    D1mka Elder - Старейшина

    Joined:
    2 Jan 2008
    Messages:
    123
    Likes Received:
    14
    Reputations:
    2
    Я в пхп дибил, вот у меня такой вопрос: что нужно написать что бы когда заходиш на страничку, типа ввв.мой_сайт.ком и броузер сразу предлагал сохранить файл?
    Создал 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
    А когда открываю эту страничку в броузере нечего непроисходит, шо мине делать?
     
  15. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    header("Location: _______105.rar");
     
  16. D1mka

    D1mka Elder - Старейшина

    Joined:
    2 Jan 2008
    Messages:
    123
    Likes Received:
    14
    Reputations:
    2
    эт дописать нужно?
     
    1 person likes this.
  17. bul.666

    bul.666 булка

    Joined:
    6 Jun 2006
    Messages:
    719
    Likes Received:
    425
    Reputations:
    140
    АНЕЕЕЕЕЕТ!
    Стой

    header(); нужно писать в самое начала файла, т.е. до открытия <html>
    PHP:
    <?php
    header
    ();
    ?>
    <html>
    <head>
    <title>хз</title>
    </head>
    <body>
    Скачивание...
    </body>
    </html>
    А вообще грамотней будет делать на JavaScript
     
    #2057 bul.666, 25 Feb 2008
    Last edited: 25 Feb 2008
    2 people like this.
  18. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    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);
    ?>
     
    1 person likes this.
  19. D1mka

    D1mka Elder - Старейшина

    Joined:
    2 Jan 2008
    Messages:
    123
    Likes Received:
    14
    Reputations:
    2
    всем спасиб, работает замечательно
     
  20. symbioin

    symbioin Member

    Joined:
    6 Aug 2007
    Messages:
    62
    Likes Received:
    23
    Reputations:
    -16
    как зделать нередактируему форму text field ?
     
Thread Status:
Not open for further replies.