我在下面有一个 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。
因此,当我 append 时namevideofile
,它应该在两个文件的上传完成后显示 video.png 和 video1.png 。, 的问题var namevideofile = $('.fileVideo').val();
在于它将两个文件名都显示为 video.png 这是不正确的。
那么有谁知道如何更改var namevideofile
,以便在上传后从服务器检索文件名?问题是 php 脚本与 JS 函数 (QandATable.php) 位于单独的页面 (videoupload.php) 上,因此此处是否需要涉及 ajax。
任何可以提供如何编码示例的人都会对我很有帮助:)