私は以下のコードを持っていますが、問題はファイルをアップロードしていないことと、一番下のコールバック JavaScript 関数が結果を表示していないことです。if isset ($_POST[fileImage'])... コードと を入力する前に$_SESSION['fileImage']['name'] = $_FILES['fileImage']['name'];
、ファイルは完全にアップロードされましたが、これらの 2 つのコードにより、アップロードが停止しました。
したがって、問題は、私が使用した上記のコードが間違った場所に配置されていることだと思います。アップロードが再び機能し始めるために、以下のコードを適切な場所に正しく配置するにはどうすればよいですか?
以下は、ファイルをアップロードすると想定されているが失敗するコードです。
<?php
$result = 0;
if (isset($_POST['fileImage']) && ((($_FILES["fileImage"]["type"] == "image/gif")
|| ($_FILES["fileImage"]["type"] == "image/jpeg")
|| ($_FILES["fileImage"]["type"] == "image/pjpeg")
|| ($_FILES["fileImage"]["type"] == "image/jpg")
|| ($_FILES["fileImage"]["type"] == "image/png")
|| ($_FILES["fileImage"]["type"] == "image/tif"))){
if( file_exists("ImageFiles/".$_FILES['fileImage']['name'])) {
$parts = explode(".",$_FILES['fileImage']['name']);
$ext = array_pop($parts);
$base = implode(".",$parts);
$n = 2;
while( file_exists("ImageFiles/".$base."_".$n.".".$ext)) $n++;
$_FILES['fileImage']['name'] = $base."_".$n.".".$ext;
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
}
else
{
move_uploaded_file($_FILES["fileImage"]["tmp_name"],
"ImageFiles/" . $_FILES["fileImage"]["name"]);
$result = 1;
}
?>
<script language="javascript" type="text/javascript">
window.top.stopImageUpload(<?php echo $result;?>);
</script>
<?php
}
$_SESSION['fileImage']['name'] = $_FILES['fileImage']['name'];
?>