【问题标题】:Xupload yii extension maxNumberOfFilesxupload yii 扩展 maxNumberOfFiles
【发布时间】:2023-03-30 17:25:02
【问题描述】:

大家好,我正在尝试调整 xupload ext 的功能,我要做的是向用户呈现他们所有上传的图像,因此即使他们在上传图像后刷新页面,它仍然会呈现在 # modal-gallery table..我知道如何使用 CActiveRecord 问题是:

如何让我的表单知道用户已经上传了图片?

我的表单代码是:

 <?php
    $this->widget('xupload.XUpload', array(
        'url' => Yii::app( )->createUrl("/UserAccountImages/upload",array('id'=>$model->id)),
        'model' => $imageForm,
        'htmlOptions' => array('id'=>'user-account-images-form'),
        'attribute' => 'file',
        'multiple' => true,
        'options' => array(
            'maxNumberOfFiles'=>8,
            'maxFileSize' => 3000000,
            'acceptFileTypes' => "js:/(\.|\/)(jpe?g|png|gif|bmp)$/i",
        ),
        'formView' => 'application.views.UserAccountImages._form',
    )    
    );
    ?>

【问题讨论】:

  • 为什么你想让你的widgit知道用户是否已经上传了一张图片?是为了限制他们的上传数量还是出于其他原因?
  • @jelle 是的,也可以在桌子上显示这些图像
  • 你有什么答案吗?

标签: php activerecord yii yii-xupload


【解决方案1】:

所以在我看来,扩展程序没有在您的数据库中保存任何内容。所以你需要某种方式来计算用户上传的文件数量,你可以通过查看你保存在服务器上的文件来做到这一点,但你需要知道哪个文件是由哪个用户上传的。或者您可以为用户上传的每个文件在数据库中保存一个条目。与用户的关系和有关上传文件的数据。 (删除文件时,您需要删除此记录。)

如果您能够获取每个用户的文件计数,您应该能够设置'maxNumberOfFiles'=&gt;8 - getFilecountOfCurrentUser() //&lt;-The method you'll need to implement

然后显示表格中的文件...

你可以选择两种方式:

  1. 更改扩展视图,使其显示用户已上传的文件,(位于扩展/视图目录中的文件名为:“form.php”。
  2. 使用 java 脚本加载页面时将文件添加到表中。

对于这两种工作方式,您需要知道哪个文件属于哪个用户。

【讨论】:

  • 或者您可以随时尝试找到一个可以更好地满足您需求的扩展程序。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多