【发布时间】:2011-07-13 06:47:54
【问题描述】:
这是我的非工作尝试:
<script>
function uploadImageSubmit() {
var imageFile = $('.imageFile').val();
$.ajax({
url: 'ajax.php?request=upload-image&file='+imageFile,
success: function(output) {
alert(output);
}
});
}
</script>
<h2>Upload File</h2>
<form>
<input type="file" class="imageFile" />
<a onClick="uploadImageSubmit()">Upload</a>
</form>
“ajax.php”上的代码:
<?php
$action = $_GET['request'];
switch($action) {
case 'upload-image':
$imageFile = $_GET['file'];
$name = $_FILES[$imageFile] ['name'];
$tmpLocation = $_FILES[$imageFile] ['tmp_name'];
$upload = move_uploaded_file($tmpLocation, "files/$name");
echo ($upload) ? $name.' uploaded successfully!' : 'File not uploaded.';
end;
}
?>
我收到未上传的消息文件。我认为这是因为即使字符串可以通过 url 传递,文件路径也不能出于某种原因。但是话又说回来,我不知道为什么它不起作用。请问有大神能看一下怎么回事吗?
【问题讨论】:
-
我认为 ajax 上传文件有问题jquery.malsup.com/form/#file-upload
标签: php jquery ajax file-upload