未定义的偏移量:cakephp中的1

时间:2012-10-18 07:31:14

标签: php html cakephp

你好我一直在探索在实现网站时使用框架cakephp。在我当前的PHP脚本中出现此错误:未定义的偏移量:1并且它已经让我头疼。你能帮助我解决我做错的事吗。

我的代码在这里:

function file_upload($file_array, $id){
    if(count($file_array))
    {
        $location = "files/library-files/";

        foreach ($file_array as $file) {
            $ext = explode(".", $file['name']);
            $new_name = md5(uniqid());
            $target_path = $location . $new_name .".".$ext[1];
            if(move_uploaded_file($file['tmp_name'], $target_path))
            {
                $this->LibraryFiles->create();
                $this->LibraryFiles->set('id', $new_name);
                $this->LibraryFiles->set('library_id', $id);
                $this->LibraryFiles->set('name', $file['name']);
                $this->LibraryFiles->set('ext', $ext[1]);
                $this->LibraryFiles->set('type', $file['type']);
                $this->LibraryFiles->set('size', $file['size']);
                if($this->LibraryFiles->save())
                {

                }
                else
                {

                }
            }
        }
    }
}

2 个答案:

答案 0 :(得分:2)

您可以添加以下支票:

if(isset($ext[1]))
{
    $target_path = $location . $new_name .".".$ext[1];
}
else if($file['name'] !== '.' && $file['name'] !== '..')
{
    $target_path = $location . $new_name;
}
else
{
    continue;
}

答案 1 :(得分:-1)

我刚刚更换了这个$ target_path = $位置。 $ new_name。“。”。$ ext [1];

if (isset($target_path)) 
$target_path = $location . $new_name .".".$ext[1]; 
else 
$target_path = '';

现在我很高兴:D