채택완료

파일첨부 글 수정 오류

파일 첨부해서 글을 올리고

수정을 하면 수정화면에서 아래와 같은 에러가 납니다.

 

Fatal error: Cannot use string offset as an array in  

해당 스킨은

write.skin.php

 

<?php if($w == 'u' && $file[$i]['file']) { ?> 이곳인데요.

&& $file[$i]['file'] 이걸 제거하면 에러는 없네요.

아래 $file[$i]['source'], $file[$i]['size']도 에러가 나는데요.

배열이 잘못된거 같은데..

이럴 경우 어디를 수정해야 하나요?

|

답변 2개 / 댓글 1개

채택된 답변
+20 포인트

$i가 for문이나 foreach문이죠? 그 위쪽에 print_r($file)을 출력해보세요.

만약 배열이 제대로 나온다면 문법문제이고요.

배열이 제대로 나오지 않는다면 배열에 들어간 값이 문제에요.

== 배열에 들어간 값이 문제라면 살펴볼 순서 ==

/bbs/write.php > 342줄에 들어간 $bo_table, $wr_id값이 정확히 들어가는지.

정확히 들어간다면

/lib/common.lib.php 271~300줄에 들어간 펑션의 작동에 이상이 없는지를 확인하시면 되요~

/bbs/write.php 에서 파일정보를 불러오는 함수(/lib/common.lib.php)에서 테스트 해봤더니,

배열에 들어간 파일($file) 정보 값은 제대로 가져오더군요..

그런데 스킨 폴더 write.skin.php에서 $file 값을 찍어봤더니 정보가 전혀 없이 나오더군요.

 

그래서 스킨 폴더 write.skin.php에서 /bbs/write.php 에 있는 파일 정보 가져오는 함수를 다시 불러 줬더니 해결되었네요.

근데 좀 이상하긴 하네요. /bbs/write.php 에서 스킨 폴더 파일을 인쿠르드 했는데..

왜 스킨 폴더 파일에서는 변수값을 읽지 못하는지...

서버 설정탓인가요?

답변에 대한 댓글 1개

인클루드 하는 곳에서의 경로 문제이거나 lib나 wirte에서 사용하는 php함수가 버전문제나 권한설정문제로 안되는것일 수도 있어요...

이렇게 복합적인 문제가 될.수.도 있는 것들은 그런 상황들을 직접 체크해보셔야 할 것 같아요 ^^

답변을 작성하려면 로그인이 필요합니다.