web사이트에 post방식으로 file 보내기..가 안되고 있습니다.
글쓴이: shean0 / 작성시간: 수, 2004/03/31 - 5:52오후
test환경은 ]
send_web.c : 솔라리스8.0 gcc
send_test.php : 솔라리스8.0 아파치,php 입니다.
보내진것 같은데.. 왜 안되는지 모르겠네요..
여기 kldp 질문답을 보고 했는데... 조언부탁드립니다.
내용은..
아이피 부분만 xxx로 했습니다. send_web.c #define D_1_HEADER "POST /p/send_test.php HTTP/1.1 Accept: */* Content-Type: multipart/form-data; boundary=THISIS_BOUNDARY Accept-Encoding: gzip, deflate Host: xxx.xxx.xxx.xxx Content-Length: 155 Connection: close --THISIS_BOUNDARY Content-Disposition: form-data; name=imgFile; filename=./aa.bmp Content-Type: application/octet-stream 1234567890 --THISIS_BOUNDARY--" memcpy(DATA, D_1_HEADER, strlen(D_1_HEADER)); send_tcp_80(sok,DATA,strlen(D_1_HEADER));
이것을 받는 php는
<? if( isset($imgFile) ) { $file_path="./test.sis"; echo "파일이름:$imgFile_name<br>"; echo "파일크기:$imgFile_size<br>"; echo "파일형식:$imgFile_type<br>"; echo "file_path:$file_path<br>"; // 업로드된 파일을 저장할 장소에 카피 //if(! move_uploaded_file($imgFile,$file_path) ) if(! copy($imgFile,$file_path) ) { echo "upload 실패<br>"; } else { echo "upload 성공<br>"; }//<==upload 성공 } else { echo "upload 안되었음<br>"; // exit(0); } ?>
이런데 리턴받은 값을 printf로 찍으면..
read_data[HTTP/1.1 200 OK Date: Wed, 31 Mar 2004 08:39:55 GMT Server: Apache/1.3.27 (Unix) mod_jk/1.1.0 PHP/4.1.0 X-Powered-By: PHP/4.1.0 Connection: close Transfer-Encoding: chunked Content-Type: text/html 195 <html> 파일이름:<br>파일크기:<br>파일형식:<br>file_path:./test.sis<br><br> <b>Warning</b>: Unable to open '1234567890' for reading: No such file or directory in <b>/export/home/Phone_Service/p/send_test.php</b> on line <b>14</b><br> upload 실패<br> </html> 0 ]
어디가 문제인지.. 알수가 없네요... 조언 부탁드립니다. [/code]
이더이얼로 윈도우에서 보내는 html을 만들고 캡쳐해서 비교하니..
의심되는 부분이 name=imgFile; filename=./aa.bmp 이 부분이거든요.
그래서 name=\"imgFile\"; filename=\"./aa.bmp\" 으로 바꾸면..upload 안되었음
즉 if( isset($imgFile) )
으로 들어가지도 못하기 때문에 ""로 줄 필요는 없는것 같은데.
이더리얼캡쳐는 있구.. 음... 뭘 더 해봐야 할지.. 막막하네요.
아..그리고 디렉토리권한은 그냥 777로 주었습니다.
[xxxx]$ls -lt
drwxrwxrwx 2 xxxx other 512 3월 31일 18:01 p/
Forums:
댓글 달기