2010-03-06 9 views
2

웹 페이지에 SwfUpload을 구현하려고하는데, PHP를 사용하여 서버에 파일을 저장하고 있습니다. 이 컴포넌트를 처음 사용할 때와 마찬가지로, SwfUpload 팀 (http://swfupload.org/forum/generaldiscussion/214)에서 제안 된 알고리즘을 실행하도록 선택했습니다. 파일에 넣었고 컨트롤을 코드 파일로 사용하도록했습니다.PHP와 SwfUpload

내가 도움을 요청하는 것처럼 작동하지 않았지만 정말로 나를 미치게 만드는 이유는 그 물건을 디버깅하는 방법을 모른다는 것입니다. 파일에 대한 요청은 플래시 객체에 캡슐화되어 있으며 문제가 발생하면 어떤 피드백도 얻을 수 없습니다.

누구든지이 컨트롤에 대해 나보다 경험이 있습니까? 당신이 만약 모든 사람이 할 수있는

답변

1

한 가지 실패

덕분에 디버그 메시지를 파일 로그에 추가 upload.php로 만드는 것입니다. 예 : file_put_contents("swfupload.log", print_r($_REQUEST, 1), FILE_APPEND);

이해해야 할 swfupload의 까다로운 점은 플래시 구성 요소가 보안상의 이유로 다른 쿠키 항아리와 함께 실행되므로 플래시 매개 변수를 통해 수동으로 말해야한다는 것입니다. 당신은 현재 서버에 가지고있는 session_id이므로 http 요청이 upload.php이 될 때 $_GET 매개 변수에 해당 session_id를 전달하고 PHP 스크립트는 해당 특정 ID 인 session_start($_GET['SESSION_ID']);으로 세션을 시작합니다. 이 시점부터 upload.php은 세션 데이터를 사용할 수있는 다른 PHP 코드와 동일하게 동작합니다. $_FILES을 가져 와서 해당 폴더로 옮기고 db로 저장하면됩니다.

0

잘 SWFUpload 일부 스크립트에 파일을 업로드 할 필요가있다, 그래서 당신은 수신 된 데이터를 기반으로 해당 스크립트 내에서 파일에 로그인 할 수 있습니다 ...

0

아, 그건 디버깅 고통입니다.

스크립트 결과 (로그 할 수없는 치명적인 오류 일 수도 있음)를 얻는 한 가지 방법은 모든 http 트래픽을 표시하는 fiddler과 같은 프록시를 사용하는 것입니다.

때때로 프록시를 사용하여 플래시를 얻는 것이 어렵습니다. 다른 브라우저를 사용하는 경우에도 IE에서 프록시를 구성해야 할 수 있습니다.