親切にしてください、私はこれにかなり慣れていないので、おそらく明らかな何かが欠けています。
ECサイトを立ち上げています。製品はすべてユニークで、個別に撮影され、オフラインでも販売されています。注文量が少なく、ディレクトリ内の画像ファイルを追加または削除するだけでオンライン在庫を管理できるようにしたい. この目的のために、JPEG ファイルの EXIF データに製品コードと製品サイズ (価格を決定する) を格納しています。CSV を生成し、1 時間ごとにショップ ソフトウェアにインポートすることを目的としています。
しかし、EXIF データから抽出された文字列に対して計算を実行できない理由がわかりません。
ここに私の悪いコードがあります:
$dir = '.';
$all_names = scandir($dir);
$ignore = array(".", "..", "sold", "onhold", "exifread.php");
$files = array_diff($all_names, $ignore);
foreach ($files as $file) {
$exif = exif_read_data($file, 0, true);
$ifd0 = $exif[IFD0];
$size = $ifd0['Comments'];
$prod_code = $ifd0['Author'];
$time_taken = $ifd0['DateTime'];
$price_per_m2 = 102;
$gst = 1.1;
$total_price = ($size * $price_per_m2) * $gst;
echo "$file;$size;$prod_code;$time_taken;$total_price<br />\n";
}
?>
$size は整数として扱われますが、サイズはすべて m2 単位で、小数点以下 2 桁です (例: 3.45)。
「。」を削除するために str_replace を試しました。102 ではなく 1.02 を乗算しますが、$size は正しくエコーされますが (例: 345)、乗算 ($total_price) は、$size がまだ整数として扱われていることを示しています (例: 3)。