我在下面有一个JavaScript函数,它在文件上传完成后显示一条消息:
function stopVideoUpload(success) {
var namevideofile = $('.fileVideo').val();
var result = '';
if (success == 1) {
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
$('.listVideo').append(namevideofile + '<br/>');
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
下面是另一个页面上成功上传文件的 php 脚本:
if( file_exists("VideoFiles/".$_FILES['fileVideo']['name'])) {
$parts = explode(".",$_FILES['fileVideo']['name']);
$ext = array_pop($parts);
$base = implode(".",$parts);
$n = 2;
while( file_exists("ImageFiles/".$base."_".$n.".".$ext)) $n++;
$_FILES['fileVideo']['name'] = $base."_".$n.".".$ext;
move_uploaded_file($_FILES["fileVideo"]["tmp_name"],
"VideoFiles/" . $_FILES["fileVideo"]["name"]);
$result = 1;
}
else
{
move_uploaded_file($_FILES["fileVideo"]["tmp_name"],
"VideoFiles/" . $_FILES["fileVideo"]["name"]);
$result = 1;
}
?>
<script language="javascript" type="text/javascript">window.top.window.stopImageUpload(<?php echo $result;?>);</script>
现在除了var namevideofile
从文件输入值中检索值(.fileVideo 是文件输入的类)之外,我希望它做的是上传完成后,服务器中文件的名称将是 var namevideofile。因此,如果我有 2 个称为 video.png 的文件,正如我在 php 代码中所述,如果文件存在,则在文件名末尾添加一个数字,以便在服务器中创建 video.png 和 video1.png。
因此,当我附加namevideofile
时,它应该在两个文件上传完成后显示视频.png和视频1.png。var namevideofile = $('.fileVideo').val();
的问题在于它将两个文件名都显示为视频.png这是不正确的。
那么有谁知道如何更改var namevideofile
以便它在上传后从服务器检索文件名?问题是 php 脚本位于 JS 函数 (QandATable.php) 的单独页面上(videoupload.php),所以 ajax 是否需要参与其中。
任何可以提供如何编码的示例的人都会对我非常有帮助:)
你可以echo
值并将其存储在javaScript变量中:
var namevideofile = <php echo $filename; ?>;