오늘 밤 내가 겪고있는 일에 완전히 당황합니다. 나는 이것을 디버깅하려고 한 시간을 보냈지만 아무데도 가지 않았다. 나는 단순한 것을 간과하기를 바란다 ....변수는 반향 후에 만 사용 가능
문제는 우리가 ID를 얻고 그것을 변수 ($ event)에 저장하고 세션을 시작하고 $ event를 세션 배열에로드한다는 것이다. 브라우저 윈도우에 텍스트를 반향 출력하지 않으면 변수가 세션에서 설정되지 않습니다. 브라우저에 아무 것도 표시하지 않으면 변수가 올바르게 참조됩니다. var_dump on $ 이벤트를 완료했으며 길이가 X 인 문자열로 올바르게 저장됩니다. 여기서 X는 ID의 길이입니다.
$event = $this->Event_model->get_event_id_with_form_id($batch->event_id); // This call successfully returns "100"
session_start();
$_SESSION['ckfinder'] = array();
$_SESSION['ckfinder']['enabled'] = true;
$_SESSION['ckfinder']['uploadURL'] = '/assets/event_uploads/' . $event . '/';
echo $_SESSION['ckfinder']['uploadURL']; // Returns "/assets/event_uploads//"
그러나, 위해서 var_dump ($ 이벤트) 반환 문자열 (3) "100"그래서 우리는 $ 이벤트가 존재한다는 것을 알고
여기에 관련 코드입니다.
$ event를 명시 적으로 '100'으로 설정하면 echo 호출은 "/ assets/event_uploads/100 /"를 반환합니다.
위 코드를 그대로두고 ($ this-> Event_model을 호출하여) 위의 코드를 그대로두고 session_start (즉, 'a';)를 echo 한 후 echo를 추가하면됩니다. echo 호출은 올바른 경로를 리턴합니다.
왜 이런 일이 발생하는지 분명하지 않습니다. 나는 PHP로 이런 문제를 경험하지 못했다. 다시 한번 말하지만 이것은 나의 수면 부족 때문일 수있다.
페이지 상단에'session_start(); '를 넣으면 어떻게 될까요? – Shomz
여전히 좋지 않습니다 (아직 시도하지는 않았지만). 내가 게시 한 코드 블록은 뷰를로드하는 것 외에도 해당 페이지의 코드 전체입니다. 하지만 불행히도 session_start(); $ event = .... line 위까지는 문제가 해결되지 않았습니다. – Kevin
흠, 이거 뭡니까? '$ _SESSION [ 'ckfinder'] [ 'uploadURL'] = '/ assets/event_uploads /'. $ this-> Event_model-> get_event_id_with_form_id ($ batch-> event_id). '/';'그것은 확실히 해결책이 아니지만 지금 호기심 ... – Shomz