Я работаю над загрузкой фотографий со своего компьютера на сервер, используя этот репозиторий. Когда я пытаюсь загрузить файл с именем mylogo.jpg, я получаю сообщение об ошибке:
Не удалось открыть файл для чтения: /tmp/php0d4X5Ny/mylogo.jpg
Мне нужно выяснить, почему я получаю эту ошибку.
Вот мой код из контроллера (cloudfiles.php):
public function add_local_file()
{
$file_location = $_FILES['userfile']['tmp_name'].'/';
$file_name = $_FILES['userfile']['name'];
$this->cfiles->do_object('a', $file_name, $file_location);
$this->_show_errors('Image Added!');
}
Функция do_object находится здесь. (строка 151). А вот представление загрузки:
<?php echo form_open_multipart('cloudfiles/add_local_file'); ?>
<input type="file" name="userfile" size="20" />
<input type="submit" value="upload" />
<?php echo form_close(); ?>
Я поискал в библиотеке cloudfiles и обнаружил, что ошибка «не удалось открыть файл для чтения» является исключением в этой функции:
function load_from_filename($filename, $verify=true)
{
$fp = @fopen($filename, "r");
if (!$fp) {
throw new IOException("Could not open file for reading: ".$filename);
}
clearstatcache();
$size = (float) sprintf("%u", filesize($filename));
if ($size > MAX_OBJECT_SIZE) {
throw new SyntaxException("File size exceeds maximum object size.");
}
$this->_guess_content_type($filename);
$this->write($fp, $size, $verify);
fclose($fp);
return True;
}
Я смотрел на это в течение нескольких часов и не могу понять, что происходит не так. Кстати, никаких ошибок php не видно, только одна ошибка, указанная выше. Новичок в Stack Overflow (частый браузер, новая учетная запись), поэтому заранее спасибо за вашу помощь.