【问题标题】:Miles Johnson's file uploader generates empty filesMiles Johnson 的文件上传器生成空文件
【发布时间】:2014-03-15 20:24:59
【问题描述】:

我使用的是 CakePHP 2.3.6,并且刚刚添加了 Miles Johnson 的图片上传器。 当我使用我的视图上传照片时,一切似乎都正常,我得到了成功的回报。 使用正确的名称创建了一个文件,因此 formatName 函数可以正常工作。 但是创建的文件的size总是只有56bytes。不管最初上传的文件有多大。

我有强烈的感觉,用户权限或 apache 服务器的配置有问题,可能无法上传。

有谁知道什么可以让我创建文件但不能将内容放入该文件中? 在Uploader Howto 上没有任何关于我必须对 apache 或 php 配置进行的更改。

查看:

<?php
    echo $this->Form->create('Site');
    echo $this->Form->input('startpageImage', array('type' => 'file'));
    echo $this->Form->end('Submit');
?>

型号:

public $actsAs = array(
    'Uploader.Attachment' => array(
        'startpageImage' => array(
            'tempDir' => TMP,
            'finalPath' => '/img/uploads/',
            'nameCallback' => 'formatName',         
        )
    )
);
public function formatName($name, $file) {
    return sprintf('%s-%s', $this->field('id'), $name);
}

【问题讨论】:

  • 尝试一下 - 首先使用:php -i | grep php.ini 找到您的 phpini 文件,然后修改参数:upload_max_filesize = xxM,其中 xx 是一个合适的值。
  • 谢谢,我检查了,但已经是2M,甚至96kB的图片都无法上传。

标签: php apache cakephp uploader


【解决方案1】:

我给 Miles Jones 写了一封电子邮件,他立即发现了错误:

查看:

<?php
echo $this->Form->create('Site', array('type' => 'file'));
echo $this->Form->input('startpageImage', array('type' => 'file'));
echo $this->Form->end('Submit');
?>

忘记了

, 数组('type' => 'file')

在表单的第一行。 没有黑魔法,没有火箭科学...... :)

【讨论】:

  • 如果你已经有一个数组,你需要合并它们:array('type' =&gt; 'file'), array('role' =&gt; 'form')需要变成array('type' =&gt; 'file', 'role' =&gt; 'form')。它不会接受两个数组。
猜你喜欢
  • 1970-01-01
  • 2016-02-14
  • 1970-01-01
  • 2014-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-22
  • 2014-07-18
相关资源
最近更新 更多