私は現在、現在のウェブサイトを編集しています。ファイルのアップロード メカニズムを http から ftp に変更したいと考えています。彼らは Drupal 7 で File モジュールを使用しています。アップロードするファイルを選択するときにフォームで必要なのは、マシン パス (例: C:\path/to/file.mov) を取得する方法です。PHP ftp_nb_put 関数で使用するには、このパスが必要です。
function assets_managed_file_form_upload_submit($form, &$form_state) {
for ($i = 0; $i < $form_state['num_files']; $i++) {
if ($form_state['values']['files_fieldset']['managed_field'][$i] != 0) {
// Make the file permanent.
$file = file_load($form_state['values']['files_fieldset']['managed_field'][$i]);
$file->status = FILE_STATUS_PERMANENT;
$directory = 'private://cubbyhouse/'. $form_state['values']['allowed_user'];
file_prepare_directory($directory, FILE_CREATE_DIRECTORY);
$file->uri = file_unmanaged_copy($file->uri, $directory, FILE_EXISTS_REPLACE);
$file->uid = $form_state['values']['allowed_user'];
drupal_chmod($file->uri);
file_save($file);
//drupal_set_message(t($debug=print_r($form)));
// Need to add an entry in the file_usage table.
file_usage_add($file, 'assets', 'image', 1);
drupal_set_message(t("Your file has been uploaded!"));
}
}
}
現在、これは彼らがファイル送信を処理する方法です