$upload_max_filesize_bytes) { echo " $upload_max_filesize Bytes 以内のファイルしか受け付けません。\n"; exit(0); } $tmp_name = sha1($imagedata, false); $id = $_REQUEST['id']; $image_id = $_REQUEST['image_id']; $ext = detect_image_ext($imagedata); if ($ext == false) { $image_sig = substr($imagedata, 0, 8); echo "unknown image signature: ".bin2hex($image_sig)."\n"; exit(1); } $id_image = substr($tmp_name, 0, 16); // XXX $tmp_filename = "$tmp_prefix$id_image$ext"; if ((! is_readable($tmp_filename)) && (! file_put_contents($tmp_filename, $imagedata))) { fprintf(stderr, "swfimagereplace.php: file_put_contents failed. zero size?\n"); unlink($tmp_filename); exit(0); } // header("Location: ./swfimagereplace.php?id=$id&image_id=$image_id&id_image=$id_image&ext=$ext"); echo <<< FORM FORM; exit(0); } if (empty($_REQUEST['id_image'])) { $id = $_REQUEST['id']; $image_id = $_REQUEST['image_id']; echo <<< FORM
画像ファイルをアップロード:
ファイルを指定してください。($upload_max_filesize Bytes 以内に限定してます) FORM; exit(0); } $id = $_REQUEST['id']; $image_id = $_REQUEST['image_id']; $id_image = $_REQUEST['id_image']; $ext = $_REQUEST['ext']; if (($ext != '.jpg') && ($ext != '.png') && ($ext != '.gif')) { echo "unknown ext=($ext)..\n"; exit(1); } $swf_filename = "$tmp_prefix$id.swf"; $swfdata = file_get_contents($swf_filename); $image_filename = "$tmp_prefix$id_image$ext"; $imagedata = file_get_contents($image_filename); $swf = new SWFEditor(); $swf->setShapeAdjustMode(SWFEditor::SHAPE_BITMAP_RECT_RESIZE); if ($swf->input($swfdata) == false) { echo "input failed\n"; exit(1); } switch ($ext) { case '.jpg': $result = $swf->replaceJpegData(intval($image_id), $imagedata); break; case '.png': $result = $swf->replacePNGData(intval($image_id), $imagedata); break; case '.gif': $result = $swf->replaceGIFData(intval($image_id), $imagedata); break; default: echo "unknown ext($ext)...\n"; exit(1); } if ($result == false) { echo "replace failed ext=$ext\n"; exit(0); } header('Content-type: application/x-shockwave-flash'); // header('Content-type: application/octet-stream'); echo $swf->output();