gpt4 book ai didi

php - 将照片上传到服务器/rackspace cloudfiles - php/codeigniter

转载 作者:可可西里 更新时间:2023-11-01 00:48:25 26 4
gpt4 key购买 nike

我正在使用此 repository 将照片从我的计算机上传到服务器.当我尝试上传名为 mylogo.jpg 的文件时,我收到一条错误消息:

无法打开文件进行读取:/tmp/php0d4X5Ny/mylogo.jpg

我需要弄清楚为什么会出现此错误。

这是来自 Controller (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 function is here (第 151 行)。这是上传 View :

<?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库,发现“could not open file for reading”错误是这个函数的异常:

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 的新手(常用浏览器,新帐户),在此先感谢您的帮助。

最佳答案

我认为您不了解$_FILES 数组的工作原理。文件上传后,它位于 $_FILES['userfile']['tmp_name'] 并且没有原始名称。

如果你想上传文件的原始名称,你需要做类似的事情:

public function add_local_file()
{
$file_location = '/tmp/';
$file_name = $_FILES['userfile']['name'];

if(move_uploaded_file($_FILES['userfile']['tmp_name'], $file_location . $file_name)){

$this->cfiles->do_object('a', $file_name, $file_location);

}

$this->_show_errors('Image Added!');
}

关于php - 将照片上传到服务器/rackspace cloudfiles - php/codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12845616/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com