php는 파일 업로드는 몇가지 과정을 거칩니다.
즉, 업로드 된 파일이 바로 지정된 디렉토리에 저장되는 것이
아니라 서버의 tmp디렉토리에 먼저 저장됩니다.
그리고 나서 php 함수를 이용하여 tmp디렉토리에 저장된
업로드 파일을 원하는 장소로 복사하고 나서 tmp에 저장된
파일을 삭제합니다.
파일 업로드에 사용되는 방법은 보통 이렇습니다.
tmp에 접근권한이 없다고 나온 경우는, 말 그대로 tmp디렉토리의
퍼미션이 제한되어 있기 때문입니다. 자신이 운영하는 서버라면
tmp디렉토리의 퍼미션을 확인해보세요.
책한권 사보세요.
그게 더 빠를것 같군요.
컴퓨터에 앉으면 생각의 속도는 타이핑의 속도와 인터넷브라우징속도와 같아지게 됩니다.(학습속도가 느려진다는 말입니다.)
컴퓨터 전원을 내려버리고 책을 보세요.
그리고 한번 탐독을 하셨으면 그때 컴퓨터를 켜시고 책에 나온 내용대로 환경을 맞추고(무조건 최신만 설치하시지 마시고) 따라해보세요. 다 될겁니다.
요즘 국내저자들이 쓴 책들은 저자와 피드백이 가능한 경우가 많으니 똑같이 따라해보고 안되면 그때 물어봐도 안늦습니다.
책한권 사보세요.
그게 더 빠를것 같군요.
컴퓨터에 앉으면 생각의 속도는 타이핑의 속도와 인터넷브라우징속도와 같아지게 됩니다.(학습속도가 느려진다는 말입니다.)
컴퓨터 전원을 내려버리고 책을 보세요.
그리고 한번 탐독을 하셨으면 그때 컴퓨터를 켜시고 책에 나온 내용대로 환경을 맞추고(무조건 최신만 설치하시지 마시고) 따라해보세요. 다 될겁니다.
요즘 국내저자들이 쓴 책들은 저자와 피드백이 가능한 경우가 많으니 똑같이 따라해보고 안되면 그때 물어봐도 안늦습니다.
충고는 감사합니다.
책으로 모두 해결하시는것도 좋히만
인터넷으로 자료를 뒤지는 재미도 있답니다.
php는 파일 업로드는 몇가지 과정을 거칩니다.
즉, 업로드 된 파일이 바로 지정된 디렉토리에 저장되는 것이
아니라 서버의 tmp디렉토리에 먼저 저장됩니다.
그리고 나서 php 함수를 이용하여 tmp디렉토리에 저장된
업로드 파일을 원하는 장소로 복사하고 나서 tmp에 저장된
파일을 삭제합니다.
파일 업로드에 사용되는 방법은 보통 이렇습니다.
tmp에 접근권한이 없다고 나온 경우는, 말 그대로 tmp디렉토리의
퍼미션이 제한되어 있기 때문입니다. 자신이 운영하는 서버라면
tmp디렉토리의 퍼미션을 확인해보세요.
서버를 fedora 쓰시나요? 그리고, selinux가 작동중인가요?
그러면, ls -Z /tmp 해서 user_u:object_r:root_t 이런게 보이면,
/sbin/restorecon /tmp 한 후, 다시 ls -Z /tmp 해서
system_u:object_r:tmp_t로 보여야 합니다.
----
I paint objects as I think them, not as I see them. atie's minipage
서버를 fedora 쓰시나요? 그리고, selinux가 작동중인가요?
그러면, ls -Z /tmp 해서 user_u:object_r:root_t 이런게 보이면,
/sbin/restorecon /tmp 한 후, 다시 ls -Z /tmp 해서
system_u:object_r:tmp_t로 보여야 합니다.
답변 감사드립니다.
저는 redhet 9을 사용합니다.
그래서 위에 사항과 상관이 없는것 같내여
암턴 답변 감사드립니다.
일단 문제가 되는 소스를 첨부하시는게 답변이 빠를 것 같습니다.p
일단 문제가 되는 소스를 첨부하시는게 답변이 빠를 것 같습니다.
php는 파일 업로드는 몇가지 과정을 거칩니다.
즉, 업로드 된 파일이 바로 지정된 디렉토리에 저장되는 것이
아니라 서버의 tmp디렉토리에 먼저 저장됩니다.
그리고 나서 php 함수를 이용하여 tmp디렉토리에 저장된
업로드 파일을 원하는 장소로 복사하고 나서 tmp에 저장된
파일을 삭제합니다.
파일 업로드에 사용되는 방법은 보통 이렇습니다.
tmp에 접근권한이 없다고 나온 경우는, 말 그대로 tmp디렉토리의
퍼미션이 제한되어 있기 때문입니다. 자신이 운영하는 서버라면
tmp디렉토리의 퍼미션을 확인해보세요.
--->
데비안 & 우분투로 대동단결!
책한권 사보세요.그게 더 빠를것 같군요.컴퓨터에 앉으면 생각의 속
책한권 사보세요.
그게 더 빠를것 같군요.
컴퓨터에 앉으면 생각의 속도는 타이핑의 속도와 인터넷브라우징속도와 같아지게 됩니다.(학습속도가 느려진다는 말입니다.)
컴퓨터 전원을 내려버리고 책을 보세요.
그리고 한번 탐독을 하셨으면 그때 컴퓨터를 켜시고 책에 나온 내용대로 환경을 맞추고(무조건 최신만 설치하시지 마시고) 따라해보세요. 다 될겁니다.
요즘 국내저자들이 쓴 책들은 저자와 피드백이 가능한 경우가 많으니 똑같이 따라해보고 안되면 그때 물어봐도 안늦습니다.
[quote="ironiris"]책한권 사보세요.그게 더 빠를것 같군
충고는 감사합니다.
책으로 모두 해결하시는것도 좋히만
인터넷으로 자료를 뒤지는 재미도 있답니다.
Linux 를 배워봅시다.
http://www.php.net/manual/en/features.fi
http://www.php.net/manual/en/features.file-upload.php
[quote="kirrie"]일단 문제가 되는 소스를 첨부하시는게 답변이
먼자 답변 감사드립니다.
그리고 연습으로 만들어보 소스를 올려봅니다.
<?
include "../common/dbconnect.inc";
$bbsTitle = $_POST['bbsTitle'];
$bbsContext = $_POST['bbsContext'];
$bbsWrite = $_POST['bbsWrite'];
$query = "insert into bbsBoard(bbsTitle,bbsContext,bbsWrite) "
." values('".$bbsTitle."','".$bbsContex."','".$bbsWrite."') ";
//$uploaddir = '/uploads/';
$uploaddir = '/tmp/';
$uploadfile = $uploaddir . $_FILES['userfile']['name'];
/*
echo "<pre>";
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "파일이 존재하고, 성공적으로 업로드 되었습니다.";
echo "추가 디버깅 정보입니다:\n";
print_r($_FILES);
} else {
echo "파일 업로드 공격의 가능성이 있습니다! 디버깅 정보입니다:\n";
print_r($_FILES);
}
echo "</pre>";
*/
for ($i=0;$i<5;$i++) {
if ($_FILES["userfile"]['tmp_name'][$i]) {
move_uploaded_file( $_FILES["userfile"]["tmp_name"][$i],$_FILES["userfile"]["name"][$i]);
}
}
/*
if($connect)
{
//echo" DB OK";
$result = mysql_query($query,$connect) or die(mysql_error());
echo $result;
?-->
<script >
<!--
location.href = "http://localhost/bbs/board.php";
//-->
</script>
<--?
//Headers("Location: http://localhost/bbs/board.php");
}
*/
?>
마지막으로 /tmp디렉토리는
chmod 777 /tmp로 모든권한을 주었습니다.
그래도 결과는 같게 나옵니다.
Linux 를 배워봅시다.
[quote="devilhero"]http://www.php.net/ma
답변 감사드립니다.
위의 사이트는 이미 참조를 했습니다.
그리고 제가본 사이트는 한글로 되어있던데여 !
techneer 라는 ID를 사용하시는 분께서 답변으로 주신 주소입니다.
http://kr.php.net/manual/kr/features.file-upload.php
내용은 똑같구여
Linux 를 배워봅시다.
서버를 fedora 쓰시나요? 그리고, selinux가 작동중인가요?
서버를 fedora 쓰시나요? 그리고, selinux가 작동중인가요?
그러면, ls -Z /tmp 해서 user_u:object_r:root_t 이런게 보이면,
/sbin/restorecon /tmp 한 후, 다시 ls -Z /tmp 해서
system_u:object_r:tmp_t로 보여야 합니다.
----
I paint objects as I think them, not as I see them.
atie's minipage
여전히 안된다면php.ini 에서 로그 메시지 부분의 주석을 다 제거
여전히 안된다면
php.ini 에서 로그 메시지 부분의 주석을 다 제거해서
로그를 많이 남기도록 한후에 로그 메시지를 확인해 보세요.
[quote="atie"]서버를 fedora 쓰시나요? 그리고, seli
답변 감사드립니다.
저는 redhet 9을 사용합니다.
그래서 위에 사항과 상관이 없는것 같내여
암턴 답변 감사드립니다.
Linux 를 배워봅시다.
phpinfo() 를 찍어보시고..upload_tmp_dir 이
phpinfo() 를 찍어보시고..
upload_tmp_dir 이 어디에 설정되어 있는지를 확인하시기 바랍니다..
기본으로 설정이 안되있을 경우는 아마도 /tmp 가 되겠지만요..
/tmp 에.. nobody 권한으로 파일을 쓸 수 있는지도 확인해보시구요..
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
[quote="정태영"]phpinfo() 를 찍어보시고..uplo
답변 감사드립니다.
확인결과 입니다.
* PHP Core
Directive | Local Value | Master Value
upload_tmp_dir | /tmp/ | /tmp/ <-- 이부분은 /tmp 로 수정을 해보기도 했습니다.결과는 계속 에러 발생합니다.
* apache2handler
User/Group | nobody(99)/-1
이렇게 되어 있내여..
Linux 를 배워봅시다.
댓글 달기