2012-03-21 15 views
1

Hy、サーバー(特定の画像セット)に一連のファイルをアップロードする必要があります。 複数のファイルを選択するには1つのファイル入力が必要です(IEの場合もあります)。サーバーにPHPを直接書く権限はありません(アクセス許可は775ですが、FTPとApacheユーザーは2つのグループに分かれています)。 FTP接続(私はすでにこれを1つのファイルで行うことができます)。 これを行う方法があれば誰かアドバイスできますか?事前に おかげHTML/PHP/JS複数のファイルを選択し、FTP経由でアップロードする

ミケーレ

編集:私はニックが提案されているようuploadify使用しようとしています。

<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をupload.phpに入れようとしましたか? 'scriptData'パラメータを追加しようとすると、ドキュメントで示唆されているように$ _POST []でアクセスできません。なぜですか?ここ

私のテストリンク:test

テストでは、ファイルがアップロードを受けることを示していますが、サーバーのフォルダにありませんファイル。ここ

は私のupload.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; 
} 

答えて

0

私は通常uploadify それのドキュメントはかなり良いですが、それは使用することが非常に簡単です使用して複数ファイルのアップロードを許可するには。

接続を開いたままにして、ページをリロードせずにファイルを送信するには、このようなものを使用する必要があります。

EDIT:uploaderscriptに変更uploaderに変更

<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

あなたのコードは次のようなものでなければなりません。

+0

ありがとうございました!私はそれを使用しようとしていますが、私はデモとドキュメントで使用されているバージョンを混乱させています:Sまた、scriptDataパラメータを渡そうとしています...実際の例がありますか?または私は私のコードを投稿するかもしれません... – Michele

+0

上記の私の編集したポストを参照してください。 – Nick

+0

私はあなたがボタンが動作しないことを示唆しているように変更した場合、私のテストページを見ることができます:[リンク](http://wpr.it/ADMIN/back_saver.php) – Michele

関連する問題