課題で提出されたファイル(Word,Excel)を見ようとして開くとワード(エクセル)は立ち上がるのですがファイル変換のウインドウが開き、文字化けしていて見る(読む)ことができません。
課題で提出してもらったパスカルのソースプログラムは、読むことが出来ました。課題提出の際に一行目に学番・氏名をコメントで入れるように指示していますが、コメントが2行目になっていました。、また、最後の文字(改行あるいはピリオド)が削除されていました。テキストファイルもメモ帳で見ているとわからなかったのですが、TeraPad等のエディタで表示すると同様に1行めが空いて表示されます。
また提出された課題を「全ての課題をダウンロードする」でダウンロードすると、解凍できません。”圧縮(zip 形式)フォルダは無効であるか、または壊れています。” とエラーが表示されます。
課題の「ファイルの高度なアップロード」,「単一ファイルのアップロード」,「オンラインテキスト」すべて同じ症状です。
環境は、Moodle1.9.5+です。
伊東さんが利用しているMoodleのパッケージはどこから入手したものでしょうか.三重大学版でしょうか,fs_moodleでしょうか.「全ての課題をダウンロードする」機能は標準のMoodleには無い機能です.サーバのOSの種類も分かりません.
発生している症状から思い当たる症状は(近頃はパッと一番に思い浮かびます),config.phpの頭か末尾に余計な空行が入っていることです.ほぼこれが原因と見て間違いないでしょう.config.phpをエディタで開いてみて下さい.<?phpで始まるファイルの上に空行は無いでしょうか.?>で終わるファイルの末尾に空行は無いでしょうか? もし,余分な空行がある場合は削除して下さい.
1年ほど前に,fs_moodle用に以下のようなconfig.php(とfsconfig.php)のチェックをする関数を作りました.$configpathはサーバ上でのフルパス名(ファイル名含む)です.これで一応,6種類のチェックが...できていると思います.
// config.php, fs_config.phpの頭とお尻のチェック(2008/10/23)
// 戻り値
// 1 : OK
// 0 : ファイルが存在しない
// -1 : ファイルの中身が空
// -2 : BOMが頭にある
// -3 : 余計な文字が頭にある(BOM以外)
// -4 : 余計な文字がお尻にある
// -5 : 文字コードがASCII/UTF-8以外である
function check_config_head_and_tail($configpath)
{
if (!file_exists($configpath)) return 0;
if (!($farray = file($configpath))) return -1;
// チェック1(BOM)
$c1 = ord(substr($farray[0], 0, 1));
$c2 = ord(substr($farray[0], 1, 1));
$c3 = ord(substr($farray[0], 2, 1));
if (($c1 == 0xef) && ($c2 == 0xbb) && ($c3 == 0xbf)) return -2;
if (($c1 == 0xfe) && ($c2 == 0xff)) return -2; // UTF-16
if (($c1 == 0xff) && ($c2 == 0xfe)) return -2; // UTF-16
// チェック2
if (strncmp($farray[0], "<?php", 5) != 0) return -3;
$tail = rtrim($farray[count($farray) - 1], "\n");
$tail = rtrim($tail, "\r");
$tail = rtrim($tail, "\n");
if ($tail != "?>") return -4;
// チェック3(文字コード)
$encname = mb_detect_encoding(file_get_contents($configpath));
if (($encname != 'ASCII') && ($encname != 'UTF-8')) return -5;
return 1;
}