2012-10-18 96 views
-1

您好我一直在探索使用框架cakephp來實現網站。在我目前的PHP腳本中出現這個錯誤:Undefined offset:1,它已經給我頭痛了。你們能幫我解決我做錯了什麼嗎?未定義的偏移量:1在cakephp中

我的代碼是在這裏:

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 
       { 

       } 
      } 
     } 
    } 
} 
+0

有沒有在你的文件排列的文件,而無需點內,或指向上一級目錄? –

+0

它是這一行$ target_path = $ location。 $ new_name。「。」。$ ext [1];那給了我錯誤。我用幾小時的研究取代了它\t \t \t \t \t if(isset($ target_path))$ target_path = $ location。 $ new_name。「。」。$ ext [1]; else $ target_path ='';現在沒有更多的錯誤:D – electricfeel1979

回答

-1

我剛剛更換這個$ target_path = $位置。 $ new_name。「。」。$ ext [1];

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

,現在我很高興:d

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; 
}