PHPを使用してフォルダにswfファイルをアップロードするアプリケーションを作成しています。私のスクリプトは、拡張子が swf かどうかを確認する最初の if 条件を除いてすべて機能していますが、エラーがあるようです。
video/swf
が SWF ファイルの有効なチェック パラメータであるかどうかはわかりません。私の完全なスクリプトは以下のとおりです。getimagesize() を使用して SWF のサイズを確認しています。画像に対して getimagesize が機能することに疑問を抱く人もいるかもしれませんが、SWF ファイルのサイズを取得するために getimagesize() が使用されている例をいくつか見ました。
「無効なswfファイル」というメッセージが表示されます。これは、最初のチェック条件をまったく満たしていないことを意味します。
<?php
foreach($_FILES['item_swf']['tmp_name'] as $key=>$val)
{
list($width, $height) = getimagesize($_FILES['item_swf']['tmp_name'][$key]);
if (( ($_FILES["item_swf"]["type"][$key] == "video/swf") || ($_FILES["item_swf"]["type"][$key] == "video/SWF") )
&& ($_FILES["item_swf"]["size"][$key] < 800000))
{
if ($_FILES["item_swf"]["error"][$key] > 0)
{
echo "Error: " . $_FILES["item_swf"]["error"][$key] . "<br />";
}
else if($width==1000 && $height==328)
{
if (file_exists('../../swf_folder/header_swf/' . $_FILES["item_swf"]["name"]))
{
echo $_FILES["item_swf"]["name"][$key] . " already exists. ";
}
else
{
move_uploaded_file($val, '../../swf_folder/header_swf/'.$_FILES['item_swf']['name'][$key]);
echo "done";
}
}
else
{
echo "size doest permit";
}
}
else
{
echo "Not a valid swf file::";
}
}
?>
以下の行
move_uploaded_file($val, '../../swf_folder/header_swf/'.$_FILES['item_swf']['name'][$key]);
ファイルを専用フォルダーにアップロードしているので問題なく動作していますが、SWFのみのファイルのチェックパラメーターが正しく設定されていないようです。
編集
私は答えを得ました。を使用する代わりに、 を使用video/swf
する必要がありますapplication/x-shockwave-flash
。
したがって、最終的なコードは次のようになります。
<?php
foreach($_FILES['item_swf']['tmp_name'] as $key=>$val)
{
list($width, $height) = getimagesize($_FILES['item_swf']['tmp_name'][$key]);
if (($_FILES["item_swf"]["type"][$key] == "application/x-shockwave-flash")
&& ($_FILES["item_swf"]["size"][$key] < 800000))
{
if ($_FILES["item_swf"]["error"][$key] > 0)
{
echo "Error: " . $_FILES["item_swf"]["error"][$key] . "<br />";
}
else if($width==1000 && $height==328)
{
if (file_exists('../../swf_folder/header_swf/' . $_FILES["item_swf"]["name"]))
{
echo $_FILES["item_swf"]["name"][$key] . " already exists. ";
}
else
{
move_uploaded_file($val, '../../swf_folder/header_swf/'.$_FILES['item_swf']['name'][$key]);
echo "done";
}
}
else
{
echo "size doest permit";
}
}
else
{
echo "Not a valid swf file::";
}
}
?>