[PHP-users 24376] ファイルをアップロードしたあと開くことができない(ai)
H.Shimizu
shimizu @ sdec.com
2005年 2月 4日 (金) 17:00:41 JST
清水と申します。
いつも参考にさせていただいております。
開発環境は
現在、サーバー:MiracleLinux3.0+Apaceh2.0+php4.3+posqgreSQL7.4、
クライアント:Windows2000Pro+IE6.0
です。
現在、イラストレータファイル(.ai)をサーバーにアップロードして共用しようとして
います。
以下のスクリプトでアップロードできるのですが、Mime Typeが「application/pdf」
となってしまいます。
本来は「application/postscript」になるはずだと思います。
更にサーバー上にアップロードしたファイルを開くことができません。
イラストレータのプログラムは起動するのですが、ファイルを開こうとすると
「Adobe PDF ファイル形式に問題があります。このファイルは、別の
アプリケーションで使用されているか、ファイルサーバーによりアクセスが
拒否されました。」とエラーメッセージが帰ってきます。
Mime Typeの誤認なのでしょうか?
サーバーの設定に問題があるのでしょうか?
解決のヒントをいただきたいと思います。
よろしくお願いします。
<?php
header("Content-Type:text/html;charset=EUC-JP");
// リクエスト
$ImgNo = $_POST['ImgNo'];
$No = $_POST['No'];
if ($ImgNo == 1) {
$Fname = $No . "_1.ai";
}else{
$Fname = "00000-00_0.ai";
}
?>
<html>
<head>
<title>アップロード</title>
<link rel="stylesheet" type="text/css" href="css01.css">
<SCRIPT LANGUAGE="JavaScript" src="css02.js"></script>
</head>
<body bgcolor="FFFFFF" text="000000" link="346ED3" vlink="C875C2"
alink="FFFF00" TOPMARGIN="0" LEFTMARGIN="0" MARGINHEIGHT="0"
MARGINWIDTH="0">
<CENTER>
<TABLE BORDER="0" CELLSPACING="0" CELLPADDING="3" WIDTH="400">
<TR>
<TD>
<FONT SIZE="2"><SPAN ID="f0000">
◎ファイル アップロードページです。
</SPAN></FONT>
</TD>
</TR>
</TABLE>
<BR>
<table border="1" width="350">
<tr>
<th>ファイル名</th><th>ファイル名</th><th>サイズ</th><th>MIMEタイプ</th>
</tr>
<?php
$num=0;
if($_FILES['fl']['name']==""){continue;}
if(file_exists("../ai/".mb_convert_encoding($_FILES['fl']['name'],"SJIS","EU
C-JP"))==TRUE && $_POST['frb']=="true"){
$num++;
}elseif(!is_uploaded_file($_FILES['fl']['tmp_name'])){
$num++;
}else{
?>
<tr>
<td align="right"><?php print($Fname); ?></td>
<td align="right"><?php print($_FILES['fl']['tmp_name']); ?></td>
<td align="right"><?php print($_FILES['fl']['size']); ?>Byte</td>
<td align="right"><?php print($_FILES['fl']['type']); ?></td>
</tr>
<?php
move_uploaded_file($_FILES['fl']['tmp_name'],"../ai/".mb_convert_encoding($F
name,"SJIS","EUC-JP"));
}
if($num>0){
print("<div style='color:red'>".$num."件がアップロードに失敗しました
</div>");
}
?>
</table>
</TABLE>
<TABLE BORDER="0" HEIGHT="100">
<TR>
<TD VALIGN="MIDDLE" ALIGN="CENTER">
<FONT SIZE="2" COLOR="#009900">
<BR><BR>
<A HREF="javascript:parent.window.close();">閉じる</A>
</FONT>
</TD>
</TR>
</TABLE>
</body>
</html>
PHP-users メーリングリストの案内