Отправляется на e-mail. Как ещё на экран вывести?

diab0583

Знаток
Регистрация
9 Июл 2007
Сообщения
199
Реакции
28
Есть код. После выполнения результат отправляется на e-mail.
Как это ещё и на экран вывести?
PHP:
<?php
  $to = "pupkin@mail.ru ";
  $subj = "тема";
  $from = "pupkin@mail.ru";
  $url = "http://site.ru";
  $listfile = "/home/login/public_html/list.txt";
  GLOBAL $no_check,$total_size,$files,$folders;
  $no_check = array("cache","list.txt", "Tree", "history", "ini");
  ///////////////////////////////////////////////////////////////////////////
  //Все, дальше ничего менять не нужно  /////////////////////////////////////
  ///////////////////////////////////////////////////////////////////////////
  $total_size = $files = $folders = 0;
  $dir = opendir ($root_dir);
  scan_dir($root_dir);
  function scan_dir($dirname)
   {
      GLOBAL $arr;
               $dir = opendir($dirname);
                while (($file = readdir($dir)) !== false)
    {
     if($file != "." && $file != "..")
      {
       if(is_file($dirname."/".$file))
        {
          if (!in_array($file, $GLOBALS['no_check']))
          $arr[] = str_replace($root_dir,"../",$dirname)."/".$file." - ".date("m.d.y H:i:s",filemtime($dirname."/".$file))." - ".filesize($dirname."/".$file);
          $GLOBALS['files']++;
          $GLOBALS['total_size']+= filesize($dirname."/".$file);
        }
       if(is_dir($dirname."/".$file))
        {
            $arr[] = $dirname."/".$file;
            $GLOBALS['folders']++;
            scan_dir($dirname."/".$file);
         }
      }
    }
   closedir($dir);
  }
 $list = fopen($listfile, "r+");
 if ($list AND filesize($listfile)> 0)
  {
     $file = fopen($listfile,"r");
     $bufer = fread($file,filesize($listfile));
       fclose($file);
     $arr1 = unserialize($bufer);
     $arr2 = array_diff ($arr, $arr1);
     $arr3 = array_diff ($arr1, $arr);
    if ((count ($arr2) + count ($arr3)) ==0)
    {
      if ($id ==1) echo " Сообщение 1<br>";
     }
    else
    {
      $mess1 = " ====== Новые файлы и новые параметры файлов: ====== <br>\n";
     if ($id ==1) $mess1.="<br>";
     foreach($arr2 as $val)
      {
        $val1 = substr ($val, 1);
        if (substr($val1,0,1)==".") $val1=substr($val1,1);
        if (substr($val1,0,1)==".") $val1=substr($val1,1);
        $val1 = str_replace($root_dir, "", $val);
        $val1 = "<a href=$url$val1 target=_blank>".$val1."</a><br>";
        $mess1 =  $mess1."$val1 \n";
      }
      $mess2 = "<br>\n\n ====== Удаленные файлы и старые параметры файлов: ====== <br>\n";
      foreach($arr3 as $val)
      {
        $mess2 =  $mess2."$val <br>\n";
      }
      $mess = $mess1.$mess2;
      if (((1024*1024) > $total_size) && ($total_size > 1024)) $size = (round($total_size /1024))."K";
      else if ($total_size > (1024*1024)) $size = (round($total_size / 1024 /1024))."M";
      $mess.= "== \nОбщий обьем  файлов: $size ($total_size байт), всего файлов: $files,папок: $folders ==";
      if ($id == 1) echo $mess;
      $subj =convert_cyr_string (stripslashes($subj),w,k);
      $headers = "MIME-Version: 1.0\n";
      $headers .= "From: $from\n";
      $headers .="Content-type: text/html; charset=windows-1251";
      mail ($to, $subj, $mess, $headers);
      $str = serialize($arr);
      $file = fopen($listfile,"w");
      fwrite($file,$str);
      fclose($file);
    }
  }
 else
  {
    $str = serialize($arr);
    $file = fopen($listfile,"w");
    fwrite($file,$str);
    fclose($file);
  }
?>
 
Добавь в начало скрипта строку
$id = 1;
 
после строки
mail ($to, $subj, $mess, $headers);

добавь

echo $mess;
 
Собственно исходный код:
PHP:
<?php 
  $to = "pupkin@mail.ru "; 
  $subj = "тема"; 
  $from = "pupkin@mail.ru"; 
  $url = "http://site.ru"; 
  $listfile = "/home/login/public_html/list.txt"; 
  GLOBAL $no_check,$total_size,$files,$folders; 
  $no_check = array("cache","list.txt", "Tree", "history", "ini"); 
  /////////////////////////////////////////////////////////////////////////// 
  //Все, дальше ничего менять не нужно  ///////////////////////////////////// 
  /////////////////////////////////////////////////////////////////////////// 
  $total_size = $files = $folders = 0; 
  $dir = opendir ($root_dir); 
  scan_dir($root_dir); 
  function scan_dir($dirname) 
   { 
      GLOBAL $arr; 
               $dir = opendir($dirname); 
                while (($file = readdir($dir)) !== false) 
    { 
     if($file != "." && $file != "..") 
      { 
       if(is_file($dirname."/".$file)) 
        { 
          if (!in_array($file, $GLOBALS['no_check'])) 
          $arr[] = str_replace($root_dir,"../",$dirname)."/".$file." - ".date("m.d.y H:i:s",filemtime($dirname."/".$file))." - ".filesize($dirname."/".$file); 
          $GLOBALS['files']++; 
          $GLOBALS['total_size']+= filesize($dirname."/".$file); 
        } 
       if(is_dir($dirname."/".$file)) 
        { 
            $arr[] = $dirname."/".$file; 
            $GLOBALS['folders']++; 
            scan_dir($dirname."/".$file); 
         } 
      } 
    } 
   closedir($dir); 
  } 
 $list = fopen($listfile, "r+"); 
 if ($list AND filesize($listfile)> 0) 
  { 
     $file = fopen($listfile,"r"); 
     $bufer = fread($file,filesize($listfile)); 
       fclose($file); 
     $arr1 = unserialize($bufer); 
     $arr2 = array_diff ($arr, $arr1); 
     $arr3 = array_diff ($arr1, $arr); 
    if ((count ($arr2) + count ($arr3)) ==0) 
    { 
      if ($id ==1) echo " Сообщение 1<br>"; 
     } 
    else 
    { 
      $mess1 = " ====== Новые файлы и новые параметры файлов: ====== <br>\n"; 
     if ($id ==1) $mess1.="<br>"; 
     foreach($arr2 as $val) 
      { 
        $val1 = substr ($val, 1); 
        if (substr($val1,0,1)==".") $val1=substr($val1,1); 
        if (substr($val1,0,1)==".") $val1=substr($val1,1); 
        $val1 = str_replace($root_dir, "", $val); 
        $val1 = "<a href=$url$val1 target=_blank>".$val1."</a><br>"; 
        $mess1 =  $mess1."$val1 \n"; 
      } 
      $mess2 = "<br>\n\n ====== Удаленные файлы и старые параметры файлов: ====== <br>\n"; 
      foreach($arr3 as $val) 
      { 
        $mess2 =  $mess2."$val <br>\n"; 
      } 
      $mess = $mess1.$mess2; 
      if (((1024*1024) > $total_size) && ($total_size > 1024)) $size = (round($total_size /1024))."K"; 
      else if ($total_size > (1024*1024)) $size = (round($total_size / 1024 /1024))."M"; 
      $mess.= "== \nОбщий обьем  файлов: $size ($total_size байт), всего файлов: $files,папок: $folders =="; 
      if ($id == 1) echo $mess; 
      $subj =convert_cyr_string (stripslashes($subj),w,k); 
      $headers = "MIME-Version: 1.0\n"; 
      $headers .= "From: $from\n"; 
      $headers .="Content-type: text/html; charset=windows-1251"; 
      mail ($to, $subj, $mess, $headers); 

###[START]UP
echo 'кому: '.$to.'<br /><br />';
echo 'тема: '.$subj.'<br /><br />';
echo 'сообщение: '.$mess;
###[END]UP      

      $str = serialize($arr); 
      $file = fopen($listfile,"w"); 
      fwrite($file,$str); 
      fclose($file); 
    } 
  } 
 else 
  { 
    $str = serialize($arr); 
    $file = fopen($listfile,"w"); 
    fwrite($file,$str); 
    fclose($file); 
  } 
?>
 
Ребят, вы в скрипт вообще глядели? Там уже предусмотрен вывод на экран, нужно лишь параметр задать.
 
Люди добрые, скажите пжалста, как в этой строке задать маску файлов:
PHP:
$no_check = array("cache","list.txt", "Tree", "history", "ini");

или полностью директорию, которую тоже надо исключить из поиска?
У меня куча файлов кеша, которые всеже попадают в список, изза этого данный скрипт полностью теряет актуальность.
 
Назад
Сверху