[Swfed-svn] swfed-svn [97] 画像入れ替えページを実装しました

Back to archive index

svnno****@sourc***** svnno****@sourc*****
2009年 1月 18日 (日) 13:46:09 JST


Revision: 97
          http://svn.sourceforge.jp/view?root=swfed&view=rev&rev=97
Author:   yoya
Date:     2009-01-18 13:46:08 +0900 (Sun, 18 Jan 2009)

Log Message:
-----------
画像入れ替えページを実装しました

Added Paths:
-----------
    trunk/www/swfimagereplace.php


-------------- next part --------------
Added: trunk/www/swfimagereplace.php
===================================================================
--- trunk/www/swfimagereplace.php	                        (rev 0)
+++ trunk/www/swfimagereplace.php	2009-01-18 04:46:08 UTC (rev 97)
@@ -0,0 +1,72 @@
+<?php
+
+require_once('define.php');
+
+if (! empty($_FILES['imagefile']['tmp_name'])) {
+    $filename = $_FILES['imagefile']['tmp_name'];
+    $imagedata = file_get_contents($filename);
+    if ($imagedata > 67108864) {
+        echo ' 64M Bytes 以内のファイルしか受け付けません。'."\n";
+        exit(0);
+    }
+    $tmp_name = sha1($imagedata, false);
+    $id = $_REQUEST['id'];
+    $image_id = $_REQUEST['image_id'];
+    $ext = $_REQUEST['ext'];
+    $id_image = substr($tmp_name, 0, 16); // XXX
+    $tmp_filename = "$tmp_prefix$id$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");
+    exit(0);
+} else {
+   if (empty($_REQUEST['id_image']))  {
+      $id       = $_REQUEST['id'];
+      $image_id = $_REQUEST['image_id'];
+echo <<< FORM
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+</head>
+<body>
+<form enctype="multipart/form-data" action="" method="POST">
+    <input type="hidden" name="MAX_FILE_SIZE" value="67108864" />
+    画像ファイルをアップロード: <input name="imagefile" type="file" />
+    <input type="hidden" name="id" value="$id" />
+    <input type="hidden" name="image_id" value="$image_id" />
+    <input type="submit" name="ext" value=".png" />
+    <input type="submit" name="ext" value=".jpg" />
+</form>
+          ファイルを指定してください。(64MBytes 以内に限定してます)
+</body>
+</html>
+FORM;
+        exit(0);
+   }
+   $id = $_REQUEST['id'];
+   $image_id = $_REQUEST['image_id'];
+   $ext = $_REQUEST['ext'];
+   if (($ext != '.png') && ($ext != '.jpg')) {
+      exit(1);
+   }
+   $swf_filename = "$tmp_prefix$id.swf";
+   $swfdata = file_get_contents($swf_filename);
+   $image_filename = "$tmp_prefix$id$ext";
+   $imagedata = file_get_contents($image_filename);
+}
+
+$swf = new SWFEditor();
+$swf->input($swfdata);
+if ($ext == '.jpg') {
+    $swf->replaceJpegData(intval($image_id), $imagedata);
+} else {
+    $swf->replacePNGData(intval($image_id), $imagedata);
+}
+
+header('Content-type: application/x-shockwave-flash');
+// header('Content-type: application/octet-stream');
+echo $swf->output();


Swfed-svn メーリングリストの案内
Back to archive index