我正在尝试使用zend gdata库将一个简单的csv文档上传到谷歌文档但不知何故它被卡住了。
我查看了用于上传的所有文件,并找到了卡住的位置:
在线:Zend / Gdata / Docs.php中的229:$ 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;
}
答案 0 :(得分: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
类型的对象