1

Kindle はファイルの種類を拡張子で認識することに気付きました。そこで、ファイルをダウンロードし、「.azw」拡張子を追加し、ダウンロード リンクを提供する小さなスクリプトを自分の Web サイトに書きました。うまくいくときもあるけど…

問題は、私は PHP 開発者ではなく、スクリプトが最善の方法で書かれていないことです。問題は、スクリプトが一部のファイル (exe) をダウンロードせず、別の exe をロードすることです。ファイルが見つからないというエラーが表示され、filename.exe.azw長さが 0 のファイルが作成されます。この問題は Kindle でのみ発生しますが、PC では問題ありません。

また、9Mb 以下のファイルしかダウンロードできないようです。

コードは次のとおりです。

<?php
    if(!isset($_POST['link'])) {
?>
        <form method="post" action="file.php">
            <p>
                Enter link: http://
                <input type="text" name="link" size="20"/>
                <input type="submit" name="submit" value="submit" />
            </p>
        </form>
<?php
    } else {
        $remote   = 'http://' . $_POST['link'];
        $download = download($remote);
        echo 'Download: <a href="' . $download . '">' . $download . '</a>';
    }

    function download($url) {
        $lastDashPos = strrpos($url, '/');
        $local = substr($url, $lastDashPos + 1, strlen($url) - $lastDashPos) . '.azw';

        $handle = file_get_contents($url);
        file_put_contents($local, $handle);

        return $local;
    }
?>

テストしたい場合は、スクリプトはhttp://forexsb.com/test/file.phpにあります。

4

0 に答える 0