Я пытаюсь загрузить загруженный файл пользователем в WebDav сервер и я получаю следующую ошибку.
«перемотка необходимых данных была невозможна»
Вот мой код
$config = Zend_Registry::get('settings')->documents;
$upload = new Zend_File_Transfer_Adapter_Http();
$upload->setDestination($config->temp_dir);
if($upload->isValid()){
$upload->receive();
foreach($upload->getFileInfo() as $fileInfo){
if (!isset($fileInfo['name']) || empty($fileInfo['name'])){
continue;
}
$fileName = $fileInfo['name'];
$filePath = $config->temp_dir . $fileName;
$fileSize = filesize($filePath);
$file = fopen($filePath, 'r');
$remoteUrl = $config->webdav_url;
$credentials = array(
'test',
'test'
);
$ch = curl_init($remoteUrl . $fileName);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_USERPWD, implode(':', $credentials));
curl_setopt($ch, CURLOPT_PUT, true);
curl_setopt($ch, CURLOPT_INFILE, $file);
curl_setopt($ch, CURLOPT_INFILESIZE, $fileSize);
curl_close($ch);
fclose($file);
}
} else { // show the errors}
Однако, когда я попытался загрузить локальный файл на сервер WebDav, он работал нормально.
Заранее спасибо!
Причиной ошибки является пробел в имени файла.
Других решений пока нет …