我想制作一个注册表单,用户应该可以在其中上传个人资料图片和注册表单。我正在使用像这样的ajax上传图片
$(document).ready(function () {
$('#UploadForm').on('submit', function (e) {
e.preventDefault();
$('#SubmitButton').attr('disabled', ''); // disable upload button
//show uploading message
$("#profile_picture").html('<div class ="update_load" style="padding:10px"><img class="load_pic" src="images/ajax-loader.gif" alt="Please Wait"/> </div>');
$(this).ajaxSubmit({
target: '#profile_picture',
success: afterSuccess //call function after success
});
});
});
来自ajax的反馈是这样的图片
echo '<img class="profile" src="uploads/'.$name.'.'.$ext.'" >';
现在我想将另一个process.php文件中的$ name变量传递给我当前的index.php文件,以便我可以使用MySQL Query插入它。我不知道该怎么做。我的第二个问题是,如果用户在注册表单中多次更改其图片,我将如何删除他之前上传的所有内容?
答案 0 :(得分:1)
您可以编写以响应为参数的afterSuccess函数。
$(this).ajaxSubmit({
target: '#profile_picture',
success: afterSuccess(data) //call function after success
});
function afterSuccess(data)
{
//parse your response to take the name
//make another ajax request to save it to database
}
此功能也可以处理新图片上传。 你将在php级别(ajax调用)
进行检查解析img字符串以获取src:
var img = $('<img class="profile" src="uploads/gaidouri.jpg" />');
var src = $(img).attr('src');
答案 1 :(得分:1)
1)生成时间戳+ randon数&gt; 幻数
2)使用uploadify jquery插件将照片上传到临时文件夹(您可以从用户完成个人数据的同一表格上传照片)
3)使用幻数作为名称保存该文件(您可以根据需要上传前一个来上传
)4)使用用户数据
将生成的数字与表单的其余部分一起发布选择一个数字5):
5a)保存数据时,只需将临时文件重命名为mysql中新id的最终文件夹
5b)保留临时文件,只需将其移动到最终文件夹并使用幻数将其存储在数据库中
希望这有帮助!