0

我目前正在开发 Joomla!网站。我正在使用 Jumi 扩展(它允许在 Joomla! 本身中制作和执行自定义脚本)来创建一个简单的文件上传工具。问题是我收到以下错误:

警告:复制(C:/xampp/htdocs/images/1253889508.jpg)[function.copy]:无法打开流:C:\xampp\htdocs\Joomla\components\com_jumi\jumi.php中没有这样的文件或目录(25) : eval()'d 代码在第61行

违规代码如下:

//we will give an unique name, for example the time in unix time format
$image_name=time().'.'.$extension;
//the new name will be containing the full path where will be stored (images folder)
$newname='C:/xampp/htdocs/images/'.$image_name;
//we verify if the image has been uploaded, and print error instead
$copied = copy($_FILES['image']['tmp_name'], $newname);

完整代码可在此处获得。一旦我得到这个工作,我将对其进行修改以满足我的网站的需求。

我不确定问题是 Jumi 的权限问题还是还有其他问题。我能说的最好的是,无论出于何种原因,临时文件都没有被创建。

感谢您提供的任何提示!

4

3 回答 3

6

试试这个:

if(move_uploaded_file($_FILES['image']['tmp_name'], $newname)){
    // move worked, carry on
}

并使用相对路径而不是绝对路径。

于 2009-09-25T14:47:09.250 回答
3

你的 C:/xampp/htdocs/images 目录真的存在吗?
如果不手动或使用 mkdir() 创建它

也尝试使用常量 DIRECTORY_SEPARATOR 而不是硬编码斜杠

此外,您应该为此使用 move_uploaded_file() 而不是 copy() 函数。

并且永远不要将绝对路径硬编码到您的脚本中!取而代之的是获取根路径并最好将其设置为常量,这主要是通过入口文件中的 dirname() 函数完成的,但 joomla 已经有一个可以用于此的常量。

于 2009-09-25T14:46:45.147 回答
0

路径中的正斜杠$namename而不是反斜杠?

于 2009-09-25T14:45:56.787 回答