加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – Symfony UploadedFile没有上传

发布时间:2020-12-13 15:58:39 所属栏目:PHP教程 来源:网络整理
导读:我试图从现有文件创建一个UploadedFile.但它没有成功上传,也没有显示任何错误. 这是我的代码 $encoded_data = "This is a huge string"; $filename = "tempFile"; $handle = fopen($_SERVER['DOCUMENT_ROOT'].$filename,"a+") file_put_contents($_SERVER['D
我试图从现有文件创建一个UploadedFile.但它没有成功上传,也没有显示任何错误.

这是我的代码

$encoded_data = "This is a huge string";
   $filename = "tempFile";
   $handle = fopen($_SERVER['DOCUMENT_ROOT'].$filename,"a+")
   file_put_contents($_SERVER['DOCUMENT_ROOT'].$filename,$encoded_data);
   $file = new UploadedFile($_SERVER['DOCUMENT_ROOT'].$filename,$filename,null,filesize($_SERVER['DOCUMENT_ROOT'].$filename));
   var_dump($file->getClientSize());
   var_dump($file->getError());
   var_dump($file->isValid());
   var_dump(is_uploaded_file($file));

结果是

int 21
int 0
boolean false
boolean false

我确信tempFile存在于文档根目录中!

解决方法

is_uploaded_file()将检查文件是否已实际上传,因此无法使用您的代码,因为该文件尚未上传.这就是为什么isValid()也返回false,因为它使用is_file_uploaded()来检查文件. 一旦这样说,UploadedFile确实有一个$test参数,如果设置为true,将使isValid()不检查文件是否实际上传.这用于测试,其中没有实际上传文件.您可以将此参数设置为true,然后isValid()将为您的文件返回true.这是一个黑客,但也许是你需要的

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读