2

ここで少し奇妙な問題が発生しました。私は最近、元々構築していなかった Web サイトのメンテナンスを開始しました。Drupal サイトには、オーディオ ファイル フィールドを備えた多数のノードと、それらを再生する jQuery プレーヤーがあります。多くのノードでプレーヤーがロードされません。これは、ノードを編集するとファイルが 0 バイトであると報告されるためであることに気付きました。これがなぜなのかわかりません。最初はファイルのアクセス許可の問題かもしれないと思っていましたが、アクセス許可が私には問題ないように見えるので、そうではないと思います。それを修正するには、ファイルを再アップロードするだけでした。問題は、これらのファイルが何百もあるということです。可能であれば、1 つの更新を行うだけで修正したいと考えています。

4

2 に答える 2

1

同じ問題がありました。データベースに0バイトのファイルがたくさんあります。私たちがしたことは次のようになりました:

function update_my_filesizes() {
    $fileIDs = db_query('SELECT fid FROM {file_managed) WHERE filesize = 0')->fetchCol();

    foreach(file_load_multiple($fids) as $file) {
        // determine size of file
        $filesize = SIZE_OF_THE_FILE; (pseudocode, we had to use filesize())
        $file->filesize = $filesize;

        if($file->filesize > 0) {        
            file_save($file);
        } else {
            echo "Filesize for file <filename here> is still 0 :(";
        }
    }
}
于 2012-08-22T18:58:40.803 に答える