つっこみ

つっこみ欄にコメントを記載して[つっこむ]ボタンを押してください。
お名前欄の記載は省略できます。

お名前 :
←ここのテキストボックスはスパム対策用なので何も入力しないでください
つっこみ :

[キャンセル]


つっこみ先の記事

・ 4GBの壁

先日マクロス劇場版がテレビでやってたんです。だからiPodで見ようとおもって録画したんです。うちの録画システムでは録画すると勝手にiPod用に変換されるのですが、iPodに転送してみると先頭から数分で終わっちゃうんです。

はて?

ファイルコピーのところがなんか怪しかったので動作検証してみました。

[filecopy.php]
#!/usr/local/bin/php
<?php
        copy ('zero.dat','zero2.dat');
?>
[コマンドラインから実行]
% dd if=/dev/zero of=zero.dat bs=64k count=65537 ←4GB+1カウント
65537+0 records in
65537+0 records out
4295032832 bytes transferred in 109.319008 secs (39288985 bytes/sec)
% php filecopy.php

% ls -l
-rw-r--r--  1 takatani  wheel          63 Dec 30 18:14 filecopy.php
-rw-r--r--  1 takatani  wheel  4295032832 Dec 30 18:20 zero.dat
-rw-r--r--  1 takatani  wheel       65536 Dec 30 18:21 zero2.dat

このPHPプログラムは一瞬で終了して、実行結果は65536バイトしかコピーされません(笑)。FreeBSDではファイルシステムからして4GBなんてとこに制限があるとは思いませんでしたが、PHPでは気をつけないといけないんですね。いままでそんなに長い番組を録画したことがなかったのでぜんぜん気づきませんでしたよ。

# 結局 /bin/cp を呼び出すことで対処しました

■この記事への permanent link URL(下にいくほどファイルサイズが大きくなります)
  http://toriyu.jp/hitorigoto/id2120.html
  http://toriyu.jp/hitorigoto/2007-12-30.html (1日分)
  http://toriyu.jp/hitorigoto/2007-12.html#id2120 (1ヶ月分)