我需要最簡單的解決方案,從PHP上傳Ext應用程序的文件。我是一個完全的PHP新手,所以我沒有得到我收到的錯誤,只能猜測是什麼造成了他們。在前端方面我有一個簡單的表格:簡單的文件上傳與PHP和ExtJs不工作
Ext.create('Ext.form.Panel', {
width: 300,
renderTo: Ext.getBody(),
frame: false,
title: 'File Upload Form',
bodyPadding: '10 10 0',
defaults: {
anchor: '100%',
allowBlank: false,
msgTarget: 'side',
labelWidth: 50
},
items: [{
xtype: 'filefield',
id: 'form-file',
emptyText: 'Select mpp file',
fieldLabel: 'File',
name: 'mpp-file',
buttonText: '',
buttonConfig: {
iconCls: 'upload-icon'
}
}],
buttons: [{
text: 'Upload',
handler: function(){
var form = this.up('form').getForm();
if(form.isValid()){
form.submit({
url: 'msp-load.php',
waitMsg: 'Loading data...',
success: function(fp, o) {
msg('Success', 'Data from .mpp file loaded ');
}
});
}
}
}]
})
的MSP-upload.php的如下所示:
uncaught exception: Ext.JSON.decode(): You're trying to decode an invalid JSON String: <br> <b>Warning</b>: move_uploaded_file(tmp/MSP1.mpp) [<a href="function.move-uploaded-file">function.move-uploaded-file</a>]: failed to open stream: No such file or directory in <b>/Library/WebServer/Documents/examples/MSProject_import/msp-load.php</b> on line <b>10</b><br> <br> <b>Warning</b>: move_uploaded_file() [<a href="function.move-uploaded-file">function.move-uploaded-file</a>]: Unable to move '/private/var/tmp/phpJVDktB' to 'tmp/MSP1.mpp' in <b>/Library/WebServer/Documents/examples/MSProject_import/msp-load.php</b> on line <b>10</b><br> {success: false}
<?
if(isset($_FILES)){
$file_tmp = $_FILES['mpp-file']['tmp_name'];
$file_name = $_FILES['mpp-file']['name'];
$file_size = $_FILES['mpp-file']['size'];
//echo ($file_tmp.", ".$file_name.", ".$file_size);
if(is_uploaded_file($file_tmp)) {
if(move_uploaded_file($file_tmp, "tmp/$file_name")){
echo '{success: true}';
} else {
echo '{success: false}';
}
} else{
echo '{success: false}';
}
}
?>
點擊 '上傳' 我拿到後
這是什麼:'沒有這樣的文件...'錯誤來自?它無法找到上傳的文件或其他東西?我的服務器用戶具有管理員權限,所以它不是關於權限。
我在PHP 5.3.6中使用內置的OSX 10.7服務器。在error.log中沒有錯誤。
文件夾「tmp」是否存在? – Leri
是的,它確實是一個unix :) –