0

ユーザーがアップロードした CSV ファイルを取得するモジュールに取り組んでいます。コードは次のようになります。

function foo_form_submit($form_id, &$form_state) {
  $validators = array();
  $dest = 'sites/phoenix.dev/files';
  $uploaded_file = file_save_upload('upload', $validators, $dest);
//some other stuff
}

ご覧のとおり、「アップロード」フィールドのファイルが実際に .csv ファイルであることを検証するために何も渡しません。これにより、関数の後半で厄介なことが発生する可能性があります。バリデーターを使用して拡張子が .csv であることを確認する方法、または実際に .csv ファイルであることを確認する方法を教えてください。

編集:そしてGoogle検索はあまり役に立ちませんでした.

4

3 に答える 3

3

file_validate_extensions に関する Drupal のドキュメントでは、これを変更することをお勧めします。

$validators = array();

これに:

$validators = array( 'file_validate_extensions' => array( 'csv' ) );
于 2009-04-20T22:35:00.897 に答える
0

確かに、目的は(たとえば).phpスクリプトの実行を停止することであり、拡張子が.csvの場合、apacheはこれをphpスクリプトとして実行しないため、ファイルの内容を検証する必要はありません。

于 2010-01-21T21:16:38.083 に答える
0

実際に解析してエラーがあるかどうかを確認せずに、有効なCSVであるかどうかを確認する方法がわかりません。

于 2009-04-20T21:44:32.233 に答える