2017-05-31 38 views
1

我創建了一個表格與文件上傳域,並試圖要上傳的文件,如下所示:錯誤上載在Zend的framework2文件

$adapter = new \Zend\File\Transfer\Transfer(); 
    $adapter->addValidator(‘Count’,false, array(‘min’=>1, ‘max’=>3)) 
    ->addValidator(‘Size’,false,array(‘max’ => 10000)) 
    ->addValidator(‘Extension’,false,array(‘extension’ => ‘txt’,’case’ => true)); 

    $adapter->setDestination('images/'); 

    $files = $adapter->getFileInfo(); 

    foreach($files as $fieldname=>$fileinfo) 
    { 
    if (($adapter->isUploaded($fileinfo[name]))&& ($adapter->isValid($fileinfo[‘name’]))) 
    { 
    $adapter->receive($fileinfo[name]); 
    //then, store links etc in db for retrieval later.. 
    } 

    } 
    var_dump($adapter->getMessages()); 

,我已經得到了錯誤:

Zend\File\Transfer\Adapter\ValidatorPluginManager::get was unable to fetch or create an instance for ‘Count’ 

我該如何解決這個問題並使之可行?

+0

@ Dymen1你有什麼解決方案嗎? – Shoaib

+0

你什麼時候收到這個錯誤信息?適配器創建時或文件上傳時? – akond

+0

當文件上傳時產生這個錯誤,不要上傳文件 – Shoaib

回答

0

你的代碼有一些錯誤。首先 new \Zend\File\Transfer\Transfer();不是一個適配器,而是一個傳輸適配器管理器。

你不應該用這個命名你的變量。讓我們來糾正和解釋。

//We initialize the transfer adapter manager 
    $transferService = new \Zend\File\Transfer\Transfer(); 
    //We fetch the matching adapter 
    //the doc says that the param is to be set to true to fetch upload adapter, false for download adapter, null for both. 
    //For us it's true 
    $adapter = $transferService->getAdapter(true); 

    //Now the rest should be working fine 

    $adapter->addValidator(‘Count’,false, array(‘min’=>1, ‘max’=>3)) 
    ->addValidator(‘Size’,false,array(‘max’ => 10000)) 
    ->addValidator(‘Extension’,false,array(‘extension’ => ‘txt’,’case’ => true)); 

    $adapter->setDestination('images/'); 

    $files = $adapter->getFileInfo(); 

    foreach($files as $fieldname=>$fileinfo) 
    { 
    if (($adapter->isUploaded($fileinfo[name]))&& ($adapter->isValid($fileinfo[‘name’]))) 
    { 
    $adapter->receive($fileinfo[name]); 
    //then, store links etc in db for retrieval later.. 
    } 

    } 
    var_dump($adapter->getMessages()); 

由於文檔在這個主題上並沒有真正完整,所以您應該深入研究代碼並瞭解它是如何完成的。這真的很快理解。

希望這可以幫到

+0

它不能正常工作... – Shoaib

+0

現在是什麼錯誤?有什麼變化嗎? – Unex

+0

根據您的zf2版本調用成員函數addValidator()null .. @Unex – Shoaib