0

zend gdata ライブラリを使用して単純な csv ドキュメントを Google ドキュメントにアップロードしようとしていますが、どういうわけか動かなくなります。

アップロードに使用されるすべてのファイルを調べたところ、スタックする場所が見つかりました。

行: 229 の Zend/Gdata/Docs.php 後: $fs = $this->newMediaFileSource($fileLocation);

すべてのファイルを調べたにもかかわらず、その newMediaFileSource() 関数が見つかりませんでした。どうすればこれを解決できるかについて誰にも考えがありますか?

public function uploadFile($fileLocation, $title=NULL, $mimeType=NULL, $uri=NULL)
    {
        // Set the URI to which the file will be uploaded.
        if ($uri === NULL) {
            $uri = $this->_defaultPostUri;
        }
        // Right after this line it stops executing:
        $fs = $this->newMediaFileSource($fileLocation);
        if ($title !== NULL) {
            $slugHeader = $title;
        } else {
            $slugHeader = $fileLocation;
        }
4

1 に答える 1

2

私はあなたと同様の問題を抱えています。関数も見つからなかったので、魔法のphp呼び出しを使用していると思われ、Zend_Gdata_Appの1041行目で十分です。

public function __call($method, $args)
{
    if (preg_match('/^new(\w+)/', $method, $matches)) {
        $class = $matches[1];
        $foundClassName = null;
        foreach ($this->_registeredPackages as $name) {
             try {
                 // Autoloading disabled on next line for compatibility
                 // with magic factories. See ZF-6660.
                 if (!class_exists($name . '_' . $class, false)) {
                    require_once 'Zend/Loader.php';
                    @Zend_Loader::loadClass($name . '_' . $class);
                 }
                 $foundClassName = $name . '_' . $class;
                 break;
             } catch (Zend_Exception $e) {
                 // package wasn't here- continue searching
             }
        }

     ....
}

基本的にメソッド名を解析して、「new」の後にパッケージがあるかどうかを確認します

基本的に Zend_Gdata_App_MediaFileSource 型のオブジェクトを作成します

于 2012-02-24T15:23:13.613 に答える