【发布时间】:2014-02-27 03:23:52
【问题描述】:
我用纯 PHP 编写了一个简单的脚本,它使用$_FILES['uploadedfile']['tmp_name'] 来获取一个新上传的文件并直接处理其内容,而不是永久存储它。这个想法是允许用户上传包含几行数据的文件,这些数据将被 PHP 脚本自动解析并添加到数据库中。无需将文件本身或对它的引用存储在数据库中,因为只有文件内容很重要。我知道Import CSV to MySQL,但我正在努力让用户保持干净和简单(目前我正在使用 phpDesktop + sqlite 进行开发,以便我的应用程序可以移植)。
我现在正尝试在 Agile Toolkit 中重新创建此过程,但我似乎无法弄清楚如何。我知道filestore 模型必须在移动/重命名文件之前访问['tmp_name'],但我不知道如何只挖掘这个功能。我尝试查看 /lib/Form/Field/Upload.php 以查看是否有任何方法可能有用,但我对 PHP 很陌生,所以这些文档让我感到困惑。 getFilePath() 看起来很有希望,但是当我执行以下操作时,$_FILES 似乎仍然是空的:
$form = $page->add('Form');
$upl = $form->addField('Upload', 'file');
$form->addSubmit();
if ($form->isSubmitted()){
$form->js()->univ()->alert($upl->isUploaded())->execute(); //sends js alert('false')
}
我意识到 AJAX 不能用于发布文件,我觉得这是问题的一部分,但我不确定从哪里开始。任何帮助将不胜感激。
谢谢。
【问题讨论】: