24

私は本当にいじってPHPについてもっと学んでいますが、ループに陥ったようなものに出くわしました。難問についての洞察を得ることができれば幸いです。

基本的に、私はアップロードされた画像の MIME タイプを見つけようとしています - そして、件名のように、upload_tmp_dir に値がない場合、私の一時ファイルは (インターネットで) どこに行き着くのでしょうか? 私のMIMEタイプを教えてくれることは言うまでもありません!だから部分的に成功!

PHP 5.3 以降を実行していて、upload_tmp_dir に値がありません。2008 年の別の投稿で、var_dump が役立つ可能性があることを示唆していましたが、空の配列しか返されませんでした。

<?php

if(empty($_FILES)){
    echo "nothing in files array -- ignore warning, testing only" . "<br /><br />";
}
$finfo = new finfo(FILEINFO_MIME_TYPE);
$fileContents = file_get_contents($_FILES['upload']['tmp_name']); // check tmp dir for 
$mimeType = $finfo->buffer($fileContents);

echo $mimeType . "<br /><br />";
echo var_dump($_FILES) . "<br /><br />";
?>

<form action="" method="post" enctype="multipart/form-data">
    <p>
        <label id="upload">Select a file to upload:
            <input type="hidden" name="MAX_FILE_SIZE" value="1048576">
            <input type="file" id="upload" name="upload">
        </label>
    </p>
    <p>
        <input type="hidden" name="action" value="upload">
        <input type="submit" value="Submit">
    </p>
</form>

みんな、ありがとう!

4

2 に答える 2

16

ほとんどの場合、システムの tmp ディレクトリが使用されます。しかし、実際に調べるには、の出力を調べる必要があります<?php phpinfo() ?>。それをファイルなどに置いてinfo.php、ブラウザでそのファイルの URL を開くことができます。すべての構成値が表示されます。デフォルトでも。

sys_get_temp_dir()を使用して、一時ディレクトリの場所を見つけることもできます。

于 2013-03-31T12:29:43.690 に答える