1

zend_form を使用して複数のファイルを選択し、アクションで処理するフル パスを取得します。しかし、必要に応じて複数のファイルを選択することはできません。選択できるファイルは 1 つだけです。送信すると、「ファイル 'videos' が定義された ini サイズを超えています」というエラーが表示されます。Firebug でページを確認すると、次のように表示されます。

    <input type="hidden" id="MAX_FILE_SIZE" value="2097152" name="MAX_FILE_SIZE">
  1. マルチファイルを選択する方法/2.ファイルの物理パスを取得する方法は? / これが私のフォームです

     $videos = new Zend_Form_Element_File('videos');
     $videos->setLabel('Videos:')
     ->addValidator('Count', false, array('min' => 1, 'max' => 10))
     ->addFilter('StringTrim')
     ->addValidator('NotEmpty')
     ->addValidator(new Zend_Validate_File_Size('200MB'))
     ->setAttrib('enctype','multipart/form-data')
     ;
    

ファイルのパスだけを取得したいだけで、ファイルをアップロードしたくありません。

4

2 に答える 2

1

HTML5 の multiple 属性を使用して、複数のファイルを選択できます。

<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <form>
        <input type="file" multiple />
        </form>
    </body>
</html>

JavaScriptを使用してパスを取得できます....

于 2013-03-05T18:42:39.547 に答える
0

参照しているパスは、ファイルがサーバーにアップロードされるパスです。そのため、最初にサーバー上の特定のフォルダーにファイルをアップロード (アップロード) する必要があります。そして、ファイルのパスを取得します。

いえ

$adapter = new Zend_File_Transfer_Adapter_Http();
$adapter->setDestination(APPLICATION_PATH.'/temp/upload');

if($adapter->receive()){
    $fileInfo = $adapter->getFileInfo();
    $filePath = APPLICATION_PATH.'/temp/upload/'.$fileInfo['uploadedFile']['name']
}
于 2013-03-06T07:49:54.030 に答える