Php 文件上载成功时如何插入值
我有一个应用程序,用户可以使用Mas的Ajax文件上传器上传文件。用户必须先单击“添加问题”按钮添加一行,然后才能使用文件加载程序。我想知道的是,如何对其进行编码,以及在何处放置代码,以便每次用户为每行选择一个文件时,当用户单击“上载”按钮时,它将从文本框中插入该行中的文件位置到数据库中,但仅当文件位置不在数据库中且文件上载成功时才会这样做 我想在“ImageFile”字段中插入值,对于ImageId字段,每次插入值时,应添加字符串“IMG”,然后在字符串后添加下一个数字。例如,如果最后一个ImageId是“IMG3”,那么当插入一个值时,下一个ImageId应该是“IMG4”,然后插入的下一个值意味着下一个id是“IMG5”,等等。我已经在它们之间连接了数据库 下面是php代码,其中包含我目前拥有的插入值和查询代码:Php 文件上载成功时如何插入值,php,javascript,jquery,Php,Javascript,Jquery,我有一个应用程序,用户可以使用Mas的Ajax文件上传器上传文件。用户必须先单击“添加问题”按钮添加一行,然后才能使用文件加载程序。我想知道的是,如何对其进行编码,以及在何处放置代码,以便每次用户为每行选择一个文件时,当用户单击“上载”按钮时,它将从文本框中插入该行中的文件位置到数据库中,但仅当文件位置不在数据库中且文件上载成功时才会这样做 我想在“ImageFile”字段中插入值,对于ImageId字段,每次插入值时,应添加字符串“IMG”,然后在字符串后添加下一个数字。例如,如果最后一个Im
if (isset($_POST['fileImage'])) {
$_SESSION['fileImage'] = $_POST['fileImage'];
}
if (isset($_POST['submitImageBtn'])) {
$imagequery = "SELECT ImageId, ImageFile FROM Image";
$insertimage[] = "'". mysql_real_escape_string( $_SESSION['fileImage'] ) ."'";
$imagequery = "INSERT INTO Image (ImageId, ImageFile)
VALUES (" . implode('), (', $insertimage) . ")";
mysql_query($imagequery);
下面是代码,它在每个表行中追加文件加载程序,并在其中执行上载过程:(这是在JavaScript中,尽管我知道插入值是在php中进行的)
下面是上载文件的php页面:
<?php
$destination_path = str_replace("//", "/", $_SERVER['DOCUMENT_ROOT']."/")."ImageFiles";
$result = 0;
$target_path = $destination_path . basename( $_FILES['fileImage']['name']);
if(@move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) {
$result = 1;
}
sleep(1);
?>
<script language="javascript" type="text/javascript">window.top.window.stopImageUpload(<?php echo $result; ?>);</script>
<script type="text/javascript">
var sourceForm;
function insertQuestion(form) {
var $tbody = $('#qandatbl > tbody');
var $tr = $("<tr class='optionAndAnswer' align='center'></tr>");
var $image = $("<td class='image'></td>");
var $fileImage = $("<form action='imageupload.php' method='post' enctype='multipart/form-data' target='upload_target' onsubmit='startUpload(this);' class='imageuploadform' >" +
"<p class='imagef1_upload_process' align='center'>Loading...<br/><img src='Images/loader.gif' /><br/></p><p class='imagef1_upload_form' align='center'><br/><label>" +
"File: <input name='fileImage' type='file' class='fileImage' /></label><br/><label>" +
"(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label>" +
"<input type='submit' name='submitBtn' class='sbtn' value='Upload' /></label>" +
"</p> <iframe class='upload_target' name='upload_target' src='#' style='wclassth:0;height:0;border:0px;solclass #fff;'></iframe></form>");
$image.append($fileImage);
$tr.append($image);
$tbody.append($tr);
}
function startUpload(imageuploadform){
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
$(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
sourceForm = imageuploadform;
return true;
}
function stopUpload(success){
var result = '';
if (success == 1){
result = '<span class="msg">The file was uploaded successfully!<\/span><br/><br/>';
}
else {
result = '<span class="emsg">There was an error during file upload!<\/span><br/> <br/>' ;
}
$(sourceForm).find('.imagef1_upload_process').css('visibility','hidden');
$(sourceForm).find('.imagef1_upload_form').html(result + '<label>File: <input name="fileImage" type="file"/><\/label><br/><label>(jpg, jpeg, pjpeg, gif, png, tif)</label><br/><br/><label><input type="submit" name="submitBtn" class="sbtn" value="Upload" /><\/label>');
$(sourceForm).find('.imagef1_upload_form').css('visibility','visible');
return true;
}
</script>
window.top.window.stopImageUpload();
var源形式;
函数insertQuestion(form){
变量$tbody=$(“#qanadbl>tbody”);
var$tr=$(“”);
变量$image=$(“”);
var$fileImage=$(“”+
“加载…
”
“文件:
”+
“(jpg、jpeg、pjpeg、gif、png、tif)
”
"" +
“
”;
$image.append($fileImage);
$tr.append($image);
$tbody.append($tr);
}
函数startUpload(imageuploadform){
$(imageuploadform).find('.imagef1_upload_process').css('visibility','visible');
$(imageuploadform).find('.imagef1_upload_form').css('visibility','hidden');
sourceForm=imageuploadform;
返回true;
}
函数stopUpload(成功){
var结果=“”;
如果(成功==1){
结果='文件已成功上载!
';
}
否则{
结果='上传文件时出错!
';
}
$(sourceForm).find('.imagef1_upload_process').css('visibility','hidden');
$(sourceForm).find('.imagef1_upload_form').html(结果+'文件:
(jpg、jpeg、pjpeg、gif、png、tif)
);
$(sourceForm).find('.imagef1_upload_form').css('visibility','visible');
返回true;
}
您可以将插入项
放在
if(@move_uploaded_file($_FILES['fileImage']['tmp_name'], $target_path)) {
$result = 1;
... insert image details into database here ...
}
我还建议使用自动递增id作为图像id,使用安全随机字符串作为存储图像的名称。然后,您可以返回最后一个insert id或-1表示失败(或者返回包含这些和任何其他详细信息的XML/JSON对象)
祝你好运处理文件服务器端的脚本在哪里?成功后,
INSERT
将进入其中。例如,它可能出现在if(move_upload_file($_FILES['img']['tmp_name'],$target))
I更新了代码以包含服务器端脚本,很抱歉:)