当我使用HTML <input type="file">
时,该PHP代码有效,但当我在底部使用jQuery文件上传脚本时,该代码不起作用。jQuery文件上传不上传
- 我相信所有的.js & .css文件被占和工作(测试)
- 我相信的uploadURL: 'doc_upload.php',fileInputName: 'userfile的' 是正确的。不知道因为没有错误显示。
- 使用回声
getcwd();
,我相信我用正确的路径 - 我只上传1kb的.TXT文件
- 我没有得到任何错误,所有错误报告并刷爆
有一件事也是行不通的,我可能会提供一个线索,那就是文件名旁边的上传&取消按钮没有全部显示,尽管点击它们似乎是行得通的。
Echo'ing $ _POST在提交时没有显示任何内容,但我认为这是一个JavaScript的东西;不确定,因为我是初学者(3个月)。
PHP页面
$filename = $_FILES['userfile']['name'];
$tmpname = $_FILES['userfile']['tmpname'];
$filesize = $_FILES['userfile']['size'];
$filetype = $_FILES['userfile']['type'];
$fp = fopen($tmpname, 'r');
$content = fread($fp, filesize($tmpname));
$content = addslashes($content);
fclose($fp);
if(!get_magic_quotes_gpc()) {
$filename = addslashes($filename);
}
$filename = preg_replace('/[ ]/', '~', $filename);
$document_folder = $_SESSION['users_id'];
$destfile = "../_documents/".$document_folder."/".$_FILES['userfile']['name'];
move_uploaded_file($_FILES['userfile']['tmpname'], $destfile);
HTML页面
<link type="text/css" rel="Stylesheet" href="../jqx.base.css" />
<script type="text/javascript" src="../scripts/js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="../scripts/jqwidgets/jqxcore.js"></script>
<script type="text/javascript" src="../scripts/jqwidgets/jqxbuttons.js"></script>
<script type="text/javascript" src="../scripts/jqwidgets/jqxfileupload.js"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#jqxFileUpload').jqxFileUpload({ width: 300, uploadUrl: 'doc_upload_jquery.php', fileInputName: 'userfile', autoUpload: true });
});
$('#jqxFileUpload').on('uploadStart', function (event) {
var fileName = event.args.file;
$('#log').prepend('Started uploading: <strong>' + fileName + '</strong><br />');
});
$('#jqxFileUpload').on('remove', function (event) {
var fileName = event.args.file;
$('#log').prepend('Removed file: <strong>' + fileName + '</strong><br />');
});
$('#jqxFileUpload').on('uploadEnd', function (event) {
var args = event.args;
var fileName = args.file;
var serverResponce = args.response;
});
</script>
</head>
<body>
<div id="jqxFileUpload">
</div>
<div id="log" style="margin-top: 20px;"></div>
<br />
</body>
</html>
您是否在'form'标签中正确编写了'enctype'属性? –
从我所看到的,我没有任何形式要求。在我见过的所有例子中,我没有看到一个带有表格标签的例子。而且,当我添加表单标签时,它会打破jQuery。谢谢... – mdpalow
检查错误,检查您的控制台,并确保该文件夹具有写入权限的权限,并且会话已启动。 –