• 追加された行はこの色です。
  • 削除された行はこの色です。
[[P_BLOG]]本体の改造

*負荷軽減 [#xb976343]
include/func_base.inc.php

 /*
  * Load Plug-in Modules
  */
 function include_plugin($mode)
 {
     global $cd, $cfg, $plugin;
 +   static $done;
 +
 +   if ($done) return;
 +
     if ($handlerDir = @opendir($cd . '/include/user_include/plugins')) {
         while ($filename = readdir($handlerDir)) {
             if ($filename != '.' && $filename != '..' && preg_match('/^plg_.+\.inc\.php$/', $filename)) {
                 include_once $cd . '/include/user_include/plugins/' . $filename;
             }
         }
     }
 +
 +   $done = true;
 }


PHPがセーフモードの場合、mb_send_mail の additional_parameters が無効になるので、エラーとなる。この場合、./var/feedback/contents/feedback.inc.php の94行目を次のように変更する。(5つ目のパラメータを外すだけ)
 if (mb_send_mail($cfg['sendmail_address'], $subject, $message, $header, $param)) {

 if (mb_send_mail($cfg['sendmail_address'], $subject, $message, $header)) {

-参照
--[[php:mb_send_mail]]

*アップロードした画像がFTPソフトで操作出来ない [#f06e7614]

画像などのバイナリファイルを「resources」フォルダにアップロードすると、FTPソフトなどで、そのファイルのダウンロードやパーミッションの変更が出来なくなる。
これは、アップロードされたファイルのパーミッションが「600」となるのが原因のよう。(うちのサーバーだけの問題かも?)

対策として、アップロードされたファイルのパーミッションを「644」に変更するように、ファイル admin/include/fnc_admin.inc.php の中の関数 function file_uploaded() に1行追加。

 function file_uploaded() 
 {
     global $cfg, $lang;
     // upload binary resources to the specified "resources" directory
     $file_uploaded = '<table summary="Uploaded Files">'.
                      '<tr><th colspan="3" abbr="Resource Directory">'.$lang['resource_dir'].' : '.
                      '<strong><a href="'.$cfg['uploaddir'].'">'.$cfg['uploaddir']."</a></strong></th></tr>\n";
     for ($i = 1; $i < $cfg['up_img_max']+1; $i++){
         if(isset($_FILES['myfile'])) {
             if (move_uploaded_file($_FILES['myfile']['tmp_name'][$i],
                                    $cfg['uploaddir'] . $_FILES['myfile']['name'][$i])) {
 +               ///// 追加ここから ///// Change file mode to 644
 +               chmod ($cfg['uploaddir'] . $_FILES['myfile']['name'][$i], 0644);
 +               ///// 追加ここまで /////
                 $file_uploaded .= '<tr><td>'.$lang['file'].$i.'</td><td>'.$lang['upload_ok']."</td>\n".
                                   '<td>'.
                                   $lang['file_name'].' : '.$_FILES['myfile']['name'][$i].'<br />'.
                                   $lang['file_type'].' : '.$_FILES['myfile']['type'][$i].'<br />'.
                                   $lang['file_size'].' : '.$_FILES['myfile']['size'][$i].' bytes<br />'.
                                   $lang['temp_name'].' : '.$_FILES['myfile']['tmp_name'][$i].'<br />'.
                                   $lang['error_msg'].' : '.$_FILES['myfile']['error'][$i].'<br />'.
                                   '</td></tr>';
             } else {
                 $file_uploaded .= '<tr><td>'.$lang['file'].$i.'</td><td>'.$lang['no_files_added'].'</td>'.
                                   '<td>0</td></tr>'; 
             }
         }
     }
     $file_uploaded .= '</table>';
     return $file_uploaded;
 }

-参照
--[[php:chmod]]
--[[php:move_uploaded_file]]

~
RIGHT:カテゴリ : [[P_BLOG>:Category/P_BLOG]]