我正在尝试从一个页面中的php脚本中接收文件名,并将其附加到位于单独页面上的javascript函数中。问题是我在错误控制台中收到一个无效的正则表达式标志 w 错误,该错误指出未定义变量:"文件图像名称"为以下行:
var nameimagefile = <?php echo $fileimagename; ?>;
如何修复此错误?
下面是javascript函数(QandATable.php):
function stopImageUpload(success){
var nameimagefile = <?php echo $fileimagename; ?>;
var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!</span><br/><br/>';
$('.listImage').append(nameimagefile + '<br/>');
}
else {
result = '<span class="emsg">There was an error during file upload!</span><br/><br/>';
}
return true;
}
下面是一个单独的页面(imageupload.php)上的php代码,文件名是:
<?php
session_start();
if (isset($_POST['fileimagename'])) {
$_SESSION['fileimagename'] = $_SESSION[' $_FILES['fileImage']['name']'];
}
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.window.stopImageUpload(<?php echo $result;?>);</script>
看起来错误是说$fileimagename
没有设置。
var nameimagefile = <?php echo $fileimagename; ?>;
您需要定义$fileimagename
在QandATable.php
的某个地方,你应该有一个$fileimagename = $_SESSION['fileimagename']
,或者设置该变量的东西。