PHPスクリプトがファイル(imageupload.php)をアップロードするページからファイル名を取得しようとしていますが、javascript内の別のページに表示したいfunction(QandATable.php)。しかし、私はこれを行う方法がわかりませんファイル名を取得しようとしたときにファイルがアップロードされない
あなたがそれに従うことができるように関連するすべてのコードを表示するので、何が起こっているのか理解することができます。
更新:私はあなたのファイルがどのようにアップロードされているかを示します。以下のコードは、ファイルを正常にアップロードします。
以下は、フォーム(QandATable.php)です。同じページで
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='return imageClickHandler(this);' class='imageuploadform' >" +
<label>Image File: <input name='fileImage' type='file' class='fileImage' /></label><br/><label class='imagelbl'>" +
"<input type='submit' name='submitImageBtn' class='sbtnimage' value='Upload' /></label>" +
"</p><ul class='listImage' align='left'></ul>" +
"<iframe class='upload_target' name='upload_target' src='#' style='width:0;height:0;border:0px;solid;#fff;'></iframe></form>");
ユーザーがフォームを送信するとき、それは検証のためにチェックし、検証が明確であるときに、それはstartImageUpload()
機能に行きます、以下の機能に行きます:
function imageClickHandler(imageuploadform){
if(imageValidation(imageuploadform)){
return startImageUpload(imageuploadform);
}
return false;
}
検証がなければ、ファイル入力を隠すJS関数(QandATable.php)に進み、ファイルアップロードが行われるimageupload.phpにフォームを送信します。ファイルがアップロードされると、stopImageUpload()関数(QandAtable.php)が呼び出され、ファイルがアップロードされているかどうかのメッセージが表示されます。これはサーバーからのファイルの名前を取得する場所です添付。以下は
はstartImageUpload()関数です:
以下var sourceImageForm;
function startImageUpload(imageuploadform){
$(imageuploadform).find('.fileImage').css('visibility','hidden');
sourceImageForm = imageuploadform;
return true;
}
は、ファイル(imageupload.php)をアップロードするPHPスクリプトです:アップロードが完了したとき
<?php
session_start();
$result = 0;
if ($_FILES["fileImage"]["error"] > 0) {
echo "Error: " . $_FILES["fileImage"]["error"] . "<br />";
} else {
echo "Upload: " . $_FILES["fileImage"]["name"] . "<br />";
echo "Type: " . $_FILES["fileImage"]["type"] . "<br />";
echo "Size: " . ($_FILES["fileImage"]["size"]/1024) . " Kb<br />";
echo "Stored in: " . $_FILES["fileImage"]["tmp_name"];
}
if(file_exists("ImageFiles/".$_FILES['fileImage']['name'])) {
$_SESSION['fileImage']['name'] = $_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"],
$_SESSION['fileImage']['name'] = $_FILES['fileImage']['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.window.stopImageUpload(<?php echo $result;?>);
</script>
は、最後にそれがバックに行きますファイルが正常にアップロードされたかどうかのメッセージを表示するには、stopUploadImage()関数(QandATable.php)を使用します。これは、サーバーからアップロードされたファイル名を追加したい場所でもあります。ページの利用にファイル名のページを渡すには
<script language="javascript" type="text/javascript">
window.top.stopImageUpload(<?php echo "'$result'";?>);
</script>
:へ
<script language="javascript" type="text/javascript">
window.top.windo.stopImageUpload(<?php echo $result;?>);
</script>
:から
:私は次のことを行うだろうstopImageUpload()
機能を呼び出すために
function stopImageUpload(success){
var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
$('.listImage').append('<br/>');
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
それはまだ同じことを行い、それがアップロードされません。ファイルをロードしようとしていますが、ローディングバーが表示されているときにファイルをロードしようとしていますが、アップロードしない、またはアップロードを完了しない – user1341521
オリジナルのコードを変更しようとしましたか?<?php echo $ result;?> '' <?php echo "'$ result'";?> '? – jnthnjns
私は同じことをやっても同じことをやってみましたが、どこに問題があるのかわかりません:( – user1341521