我正在开发一个采用用户上传的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
}
正如您所看到的,我没有传递任何内容来验证“upload”字段中的文件实际上是.csv文件。这会导致稍后在函数中发生一些令人讨厌的事情。如何使用验证器检查扩展名是.csv,还是更好,以检查它实际上是.csv文件?
编辑:Google搜索没有提供太多帮助。
答案 0 :(得分:3)
Drupal documentation on file_validate_extensions表示您想要更改此内容:
$validators = array();
对此:
$validators = array( 'file_validate_extensions' => array( 'csv' ) );
答案 1 :(得分:0)
我看不出你怎么能检查它是否是一个有效的CSV而没有真正尝试解析它并查看是否有任何错误。
答案 2 :(得分:0)
确实,不一定要验证文件的内容,因为目标可能是停止(例如).php脚本执行,并且扩展名为.csv apache不会将其作为php脚本运行