位置:首页 > Web开发 > Uploadify教程 > uploadify自定义服务器端上传脚本

uploadify自定义服务器端上传脚本

当涉及到实际保存上传文件到服务器,在服务器端上传脚本将在后端处理所有的工作。这里是一个比特的信息,应该帮助创建一个自定义的服务器端上传脚本在PHP中。

通过额外的数据到服务器端脚本

额外的数据可以传递到脚本无论是作为查询字符串附加到上传选项,或通过参数formdata选项。根据所设定的方法选项('POST'或'GET'),可以检索使用$_POST或$_GET数组中的服务器端脚本发送的参数formdata选项的信息。

当初始化Uploadify:

$('#file_upload').uploadify({
    // Some options
    'method'   : 'post',
    'formData' : { 'someKey' : 'someValue' }
});


在服务器端脚本:

// Set $someVar to 'someValue'
$someVar = $_POST['someKey'];


将上面的文件保存为不同名称的文件。 如果想传递在页面上设置的上传开始前的信息,那么最好使用 settings 方法在 onUploadStart 事件,这样的参数 formdata 在文件上传前正确设置。
 

从服务器端脚本返回的数据

在uploadify.php脚本返回的数据可通过 onUploadSuccess 事件作为第二个参数(数据)进行访问。

从uploadify.php文件返回文件名:

$targetFolder = '/uploads'; // Relative to the root

if (!empty($_FILES)) {
    $tempFile = $_FILES['Filedata']['tmp_name'];
    $targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
    $targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];

    // Validate the file type
    $fileTypes = array('jpg','jpeg','gif','png'); // File extensions
    $fileParts = pathinfo($_FILES['Filedata']['name']);

    if (in_array($fileParts['extension'],$fileTypes)) {
        move_uploaded_file($tempFile,$targetFile);
        echo $targetFolder . '/' . $_FILES['Filedata']['name'];
    } else {
        echo 'Invalid file type.';
    }
}

上传返回调用:
 

$('#file_upload').uploadify({
    // Some options
    'onUploadSuccess' : function(file, data, response) {
        alert('The file was saved to: ' + data);
    }
});


标签:uploadify    服务器端    上传脚本