강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của dirend79555
dirend79555

câu hỏi đã được viết

Lập trình PHP 7+

image

Đã giải quyết

Viết

·

553

0

마지막 질문이 될거 같아요. ㅎㅎ

지금 이미지 업로드는 되는데 불러오기 안되서... 어떤 경우 일까요?

(일시적으로 크롬웹은 되는데, 휴대폰 웹으로는 안되고,,, 이후에 파일 권한이나 권한이름도 바꿨더니 또 안됩니다 ㅠ)

참고 파일 입니다.

php

Câu trả lời 7

1

dirend79555님의 프로필 이미지
dirend79555
Người đặt câu hỏi

혹시나 맞을까 싶어서 고민 중이었는데, 속 시원하게 해결 해 주셔서 감사합니다.

질문도 많았는데, 자세하게 알려 주셔서 감사합니다. 프로젝트를 한번 끝낼 수 있어서도 좋았네요. 

이제 반복만이 살길 인거 같아요 !!

1

pronist님의 프로필 이미지
pronist
Người chia sẻ kiến thức

일부 잘못 된 처리 있을 수 있습니다. middlewares/auth.php 에서 image 부분을 날리십시오. (로그인을 하지 않은 경우라도 이미지는 불러와야 하나, 못 불러오는 버그가 발견되었음.)

return guard([
    '/user/update',
    '/post/write',
    '/post/update',
    '/post/delete'
]) ?: reject("/auth/login");

두 번째는 Content-type 헤더가 MIME 타입을 제대로 설정하고 있는지 점검해보시기 바랍니다. services/image::getImage 함수에서 mime_content_type 함수는 fileinfo 확장을 필요로 합니다.

1

pronist님의 프로필 이미지
pronist
Người chia sẻ kiến thức

음, 대략적으로 점검해볼만한 사항은 아래에서 realpath 가 올바르게 이미지 패치를 보고 있는지 디버깅 해보시고, 

function show($path)
{
    echo getImage(realpath(config('image.path') . basename($path)));
}

둘째는 services/image::getImage 함수에서 is_readable 로 파일을 읽을 수 있는지 검증해볼 것, 리눅스라면 폴더의 권한 체크는 해볼만 합니다. 그리고 services/image::uploadImage 에서 url 을 올바르게 리턴하는 지, 다 되었다면 웹브라우저를 켜고 /image?path=__이미지_이름__ 을 넣어서 검증해보시면 되겠습니다. 

function getImage($path)
{
    var_dump(is_readable($path));

    if (file_exists($path)) {
        header("Content-type:" . mime_content_type($path));
        return file_get_contents($path);
    }
}

0

pronist님의 프로필 이미지
pronist
Người chia sẻ kiến thức

Header Content-Type (MIME 타입)을 올바르게 설정해주셔야 합니다! fileinfo Extension 에 있는 '그' 함수를 사용해주세요! 간단히 이야기하면 MIME 타입은 응답하고자 하는 파일의 형태를 나타내고, image/png, application/json 등이 있습니다.

0

dirend79555님의 프로필 이미지
dirend79555
Người đặt câu hỏi

/image?path?=이미지이름으로 요청하니 이렇게 외계어가 뜨는게 맞나요?.

매번 답변 감사드립니다!!

0

pronist님의 프로필 이미지
pronist
Người chia sẻ kiến thức

읽어오질 못한다는 것은 에디터에 업로드를 하고서 발생하는 HTTP Response Code 를 확인해보세요. (Get Request) 400 이거나 404 라면 못 불러옵니다. 이는 getImage 함수를 눈여겨 볼 필요가 있고, /image 라우트에 대해 테스트해볼 필요가 있습니다.

0

dirend79555님의 프로필 이미지
dirend79555
Người đặt câu hỏi

다시한번 하다가 업로드를 할때 이미지를 옮길때는 네트워크로 받기는 하는데요.

읽어 오질 않습니다. (글 작성시에도 그렇습니다.)

Hình ảnh hồ sơ của dirend79555
dirend79555

câu hỏi đã được viết

Đặt câu hỏi