0

運の悪い写真からいくつかの基本的な EXIF データを表示しようとしています。私のコードは以下です。いくつかの基本的な情報を表示する必要があるだけです。サーバーで EXIF を有効にしており、この画像に EXIF データが含まれていることはわかっていますが、この設定ではデータが表示されません。ここで私が間違っていることを誰かに教えてもらえますか?

$exif_data = exif_read_data("http://www.findexif.com/client/samples/swiss_house.jpg");

        $emake = $exif_data['Make'];
        $emodel = $exif_data['Model'];
        $eexposuretime = $exif_data['ExposureTime'];
        $efnumber = $exif_data['FNumber'];
        $eiso = $exif_data['ISOSpeedRatings'];
        $edate = $exif_data['DateTime'];

    echo "Make: ". $emake . "<br>";
        echo "Model: ". $emodel . "<br>";
        echo "Exp: ". $eexposuretime . "<br>";
        echo "Date: ". $edate . "<br>";
        echo "ISO: ". $eiso . "<br>";
4

1 に答える 1

5

のファイル名をexif_read_dataURL にすることはできません。

それでも外部画像の EXIF データを読みたい場合は、最初にダウンロードする必要があります。

<?php
$imageURL = 'http://www.findexif.com/client/samples/swiss_house.jpg';
$localURL = '/tmp/swiss_house.jpeg';

// Use 'copy' function if you have PHP5
//  and the HTTP stream wrapper enabled on your server.
copy($imageURL, $localURL);

/**
 * This way if you don't have PHP5
$fp = fopen($localURL, 'w');
fwrite($fp, file_get_contents($imageURL));
fclose($fp);
 */

$exif_data = exif_read_data($localURL);

$emake = $exif_data['Make'];
$emodel = $exif_data['Model'];
$eexposuretime = $exif_data['ExposureTime'];
$efnumber = $exif_data['FNumber'];
$eiso = $exif_data['ISOSpeedRatings'];
$edate = $exif_data['DateTime'];

echo 'Make: '. $emake . '<br>';
echo 'Model: '. $emodel . '<br>';
echo 'Exp: '. $eexposuretime . '<br>';
echo 'Date: '. $edate . '<br>';
echo 'ISO: '. $eiso . '<br>';
于 2012-06-12T01:09:35.907 に答える