2014-04-01 6 views
0

이 문제에 대한 도움이 필요합니다. cakephp에 웹 응용 프로그램을 빌드했습니다. localhost에서 eveything은 잘 작동합니다. 이미지 업로드, 삽입, 삭제가 올바르게 이루어집니다. 내가 서버에 업로드 한 순간 오류가 발생했습니다!서버에 이미지 업로드 실패 CAKEPHP

고지 (8) 불확정 인덱스 슬라이더 [APP/모델/Slider.php, 라인 (245)]

고지 (8) 불확정 인덱스 슬라이더 [APP/모델/Slider.php 라인 (247)]

경고 (2) : 링크 해제 (/ home8/ceraunia /으로 public_html/AFS/CESI/관리/애플리케이션/웹 루트/IMG/업로드/슬라이더/이미지 /) function.unlink]는 :가요 디렉토리 [APP/Model/Slider.php, line 248]

나는 무엇을 해야할지 알지 못한다. 또는 문제가있는 곳. 내가 localhost에서 언급했듯이 모든 것이 완벽하게 작동합니다. 내가 사용하는 호스트 서버는 blueHost입니다.

어떤 도움은 매우 appruciated 될 것이다 ..

편집 :

티 문제의 원인이되는 코드는 다음과 같습니다

public function afterSave($created, $options = array()) { 
    $dir = 'img' . DS . 'uploads' . DS . 'slider' . DS . 'images' . DS; /*<=== DO NOT EDIT*/ 
// then after deletation of the row we check if the file exist, if so we delete it. 
    if(isset($this->data[$this->alias]['pic_path']) && file_exists(WWW_ROOT . $dir . $this->image['Slider']['pic_path'])){ 
     $img = WWW_ROOT . $dir . $this->image['Slider']['pic_path']; 
     unlink($img); 
     return true;     
    } else { $this->data[$this->alias]['pic_path'] = $this->image['Slider']['pic_path']; } 
    return true; 
} 
+2

은 Slider 모델의 245 및 247 행을 보는 데 유용 할 수 있습니까? 또한, 귀하의 localhost에 비해 서버의 일부 사양 (예 : PHP 버전). 함께 일할 많은 정보를 제공하지 않습니다. – Nunser

+0

나는 당신이 물어 보았던 여분의 코드 라인을 추가했다! ... 나는 내가 여기에없는 것이 무엇인지 알지 못한다. – landi

+0

'$ this-> image'가 무엇을 가지고 있는지 알지 못해도 그 배열은 단순히 인덱스를 가지고 있지 않습니다. 자, 왜 그것을 가지고 있지 않은가? 나도 모르겠다. 어쩌면 그 데이터를 처음부터 어떻게 저장했는지 보여줄 수 있을까? 그리고 로컬 호스트와 서버의 php와 mysql 버전을 추가하십시오. – Nunser

답변

1

어떻게 단순히 메시지를 읽고에 대한?

/home8/ceraunia/public_html을/AFS/CESI/관리자/응용 프로그램/웹 루트/IMG/업로드/슬라이더/이미지 /) 는 [function.unlink] : 인가 디렉토리

unlink()으로 디렉토리를 삭제하려고합니다. 나는 you're not showing the stacktrace 이래로 누락 된 파일 이름에서 오는 다른 두 가지주의 사항을 추측합니다.

디버깅의 기본 사항 : 알림에서 알려주는 줄로 이동하여 변수를 디버그하고 인덱스가 정의되지 않은 이유를 확인하십시오. stacktrace가 이미 알려주는 코드 경로를 따라 가면 알 수 있습니다.

또 다른 추측 : 창을 사용하고 있고 서버가 * nix 상자이고 디렉토리 구분 기호로 DS 상수를 사용하고 있지 않습니까?

+0

이것은 디렉토리가 아니며 디렉토리 내의 이미지입니다. 그리고 요점은 내가 새 레코드를 추가하려고 할 때 오류가 발생한다는 것입니다. 그러나 오류보고를 비활성화 할 때. 이미지 업로드 succesdully 않습니다. 그것이 예정대로. – landi

+0

디렉토리입니다. 아니면 파서가 거짓말한다고 생각하니? 글쎄, 당신이 그렇게 생각한다면 php.net에 버그 리포트를 만들고 그들에게 unlink()가 제대로 작동하지 않는다고 말하라. 나는 대답이 디렉토리 일 가능성이 높은 이유를 설명했다. 오류를 비활성화하는 것은 아무런 해결책이 될 수 없으며, 단지 끔찍한 나쁜 습관입니다. 제대로 디버깅하는 법을 배우십시오. – burzum