загрузка файла cakephp - PullRequest
       23

загрузка файла cakephp

0 голосов
/ 09 февраля 2010

при загрузке изображения на сервер с помощью cakephp

$ this-> Model-> Behaviors-> attach ('ImageUpload', Configure :: read ('photo.files'));

фотография успешно загружена, поля базы данных также

, но вместо возврата к странице индекса отображается следующая ошибка.


Примечание (8): неопределенный индекс: класс [CORE \ cake \ libs \ model \ поведенческих \ upload.php, строка 104]

Примечание (8): неопределенный индекс: класс [CORE \ cake \ libs \ model \ поведенческих \ upload.php, строка 107]

Предупреждение (2): Невозможно изменить информацию заголовка - заголовки уже отправлены (вывод начат с E: \ umoorthy_105act10 \ projects \ dev1base \ core \ cake \ basics.php: 111) [CORE \ cake \ libs \ controller \ controller .php, строка 614]


что делать?

Ответы [ 2 ]

0 голосов
/ 10 сентября 2013
public  function uploadFilesIphone($folder, $formdata, $replace , $itemId = null) {
                // setup dir names absolute and relative    echo "<pre>";       print_r($formdata);     exit;

            $folder_url = WWW_ROOT.$folder;
            $rel_url = $folder; //echo

                // create the folder if it does not exist
                if(!is_dir($folder_url)) {
                    mkdir($folder_url);
                }

                // if itemId is set create an item folder
                if($itemId) {
                    // set new absolute folder
                    $folder_url = WWW_ROOT.$folder.'/'.$itemId; 
                    // set new relative folder
                    $rel_url = $folder.'/'.$itemId;
                    // create directory
                    if(!is_dir($folder_url)) {
                        mkdir($folder_url);
                    }
                }

                // list of permitted file types, this is only images but documents can be added
                $permitted = array('image/gif','image/jpeg','image/pjpeg','image/png','application/octet-stream');

                // loop through and deal with the files;

                $key = array();
                $value = array();
                foreach($formdata as  $key => $value) 
                {   
                    if($key == is_array($value))
                    {
                        $filename = str_replace(".", $replace , $value['name']);
                    }   

                    // replace spaces with underscores

                    // assume filetype is false
                    $typeOK = false;
                    // check filetype is ok

                    foreach($permitted as $type) 
                    {   
                        if($key == is_array($value))
                        {
                            if($type == $value['type']) 
                            {
                                $typeOK = true;
                                break;
                            }
                        }   
                    }
                    // if file type ok upload the file

                    if($typeOK) {
                        // switch based on error code
                        if($key == is_array($value))
                        {
                            switch($value['error']) 
                            {
                            case 0:
                                // check filename already exists
                                if(!file_exists($folder_url.'/'.$filename)) 
                                {
                                    // create full filename
                                    $full_url = $folder_url.'/'.$filename;
                                    $url = $rel_url.'/'.$filename;

                                    // upload the file
                                    if($key == is_array($value))
                                    {
                                        $success = move_uploaded_file($value['tmp_name'], $url);
                                    }
                                } 
                                else 
                                {
                                    // create unique filename and upload file
                                    //  ini_set('date.timezone', 'Europe/London');
                                    $now = date('Y-m-d-His');
                                    $full_url = $folder_url.'/'.$now.$filename;
                                    $url = $rel_url.'/'.$now.$filename;
                                    if($key == is_array($value))
                                    {   
                                        $success = move_uploaded_file($value['tmp_name'], $url);
                                    }
                                }
                                // if upload was successful
                                if($success) 
                                {
                                    // save the url of the file
                                    $result['urls'][] = $url;
                                } 
                                else 
                                {
                                    $result['errors'][] = "Error uploaded $filename. Please try again.";
                                }
                                break;
                            case 3:
                                // an error occured
                                $result['errors'][] = "Error uploading $filename. Please try again.";
                                break;
                            default:
                                // an error occured
                                $result['errors'][] = "System error uploading $filename. Contact webmaster.";
                                break;
                        }
                    } 
                    elseif($value['error'] == 4) 
                    {
                        // no file was selected for upload
                        $result['nofiles'][] = "No file Selected";
                    } 
                    else 
                    {
                        // unacceptable file type
                        $result['errors'][] = "$filename cannot be uploaded. Acceptable file types: gif, jpg, png.";
                    }
                  }
                }
            return $result;
            }
0 голосов
/ 14 февраля 2010

Торт уже написал, где искать проблему

Configure::read('photo.files')

выполните следующие действия, чтобы проверить, все ли в порядке

pr(Configure::read('photo.files'))
...