Hy,我需要将一系列文件上传到服务器(特别是一组图像(。我需要单个文件输入来选择多个文件(也在IE中(,我没有权限直接在服务器上使用PHP编写(权限为775,但FTP和apache用户分为2个不同的组(,所以我需要使用FTP连接(我已经能够用单个文件执行此操作(。如果有办法做到这一点,有人可以建议我吗?提前致谢
米歇尔
编辑:我正在尝试按照尼克的建议使用上传。
<script type="text/javascript">
$(document).ready(function() {
$('#file_upload').uploadify({
'uploader' : 'JS/uploadify.swf',
'script' : 'upload.php',
'cancelImg' : 'JS/cancel.png',
'folder' : 'TEST/UPLOADS',
'auto' : true,
'multiple' : true,
'removeCompleted' : false,
'queueSizeLimit' : 3,
'queueID' : 'queue',
'simUploadLimit' : 1
);
});
</script>
我试图将ftp连接和ftp_put上传到上传中.php对吗?如果我尝试添加"scriptData"参数,则无法按照文档的建议通过 $_POST[] 访问它,为什么?
这是我的测试链接:测试
测试显示文件已上传,但服务器文件夹中没有文件。
这是我上传.php代码:
if (!empty($_FILES)) {
$tempFile = $_FILES['Filedata']['tmp_name']; // 1
//$targetPath = $_SERVER['DOCUMENT_ROOT'] . $_REQUEST['folder'] . '/'; // 2
//$targetFile = str_replace('//','/',$targetPath) . $_FILES['Filedata']['name']; // 3
$ftp_server = "***"; //address of ftp server.
$ftp_user_name = "***"; // Username
$ftp_user_pass = "***"; // Password
$conn_id = ftp_connect($ftp_server);
ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
ftp_pasv ( $conn_id, true );
if( ftp_fput($conn_id, 'TEST/' . $_FILES['Filedata']['name'], $tempFile, FTP_BINARY)){ // 4
echo true;
}else{
echo false;
}
ftp_close($conn_id);
} else {
echo false;
}
为了允许上传多个文件,我通常使用uploadify它的文档相当不错,而且使用起来非常简单。
您需要使用这样的东西来保持连接打开并发送文件而无需重新加载页面。
编辑:
你的代码应该是这样的:
<script type="text/javascript">
$(function() {
$('#custom_file_upload').uploadify({
'uploader' : 'JS/uploadify.swf',
'script' : 'JS/uploadify.php',
'cancelImage' : 'JS/uploadify-cancel.png',
'multi' : true,
'auto' : true,
'fileTypeExts' : '*.jpg',
'fileTypeDesc' : 'Image Files (.JPG)',
'queueID' : 'custom-queue',
'queueSizeLimit' : 3,
'simUploadLimit' : 3,
'sizeLimit' : 10240000,
'removeCompleted': false,
'onDialogClose' : function(queue) {
$('#status-message').text(queue.filesQueued + ' files have been added to the queue.');
},
'onQueueComplete' : function(stats) {
$('#status-message').text(stats.successful_uploads + ' files uploaded, ' + stats.upload_errors + ' errors.');
}
});
});
</script>
swf
改为uploader
,uploader
改为script
。