inflearn logo
강의

講義

知識共有

PHP 7+ プログラミング

image

解決済みの質問

572

dirend79555

投稿した質問数 12

0

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

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

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

참고 파일 입니다.

php

回答 7

1

dirend79555

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

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

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

1

pronist

일부 잘못 된 처리 있을 수 있습니다. 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

음, 대략적으로 점검해볼만한 사항은 아래에서 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

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

0

dirend79555

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

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

0

pronist

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

0

dirend79555

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

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

53강 레이아웃에서 css git 링크 관련 질문입니다.

0

34

2

[섹션 5]레포지토리 소스파일 오류 위치, 수정 제안

0

180

1

add configuratio.. 자체에

0

268

2

터미널에 글이 안써집니다.

0

635

1

일반적으로 쓰이지 않는 폰트 부분

0

464

1

readmore 클릭시 쿼리내용 받아오는게 이해가 안되요

0

497

1

$_GET과 $_POST를 구별하여야한다고 하는데 이건 왜 $_GET입니까 콜백이라서 그런가요? 왜콜백은 그래도 되나요?

0

475

1

xdebug 설치가 안됩니다.

0

401

1

xdebug 설치 확인 페이지가 안열립니다

0

360

1

if ~ elseif ~ else 문법 표준적인 코딩 방법에 대한 질문입니다.

1

523

1

mysqli_stmt_close($stmt) 관련 질문드립니다.

0

319

1

DB_CONNECTION 부분 질문

0

267

1

FILTER_VALIDATE FILTER_SANITIZE 차이를 모르겠습니다.

0

295

1

결과 ...

0

244

1

random_bytes

0

319

1

preg_replace_callback 질문드립니다.

0

434

1

호스팅에 php 코드 업로드하면 hash 로직이 보이진 않을까요?

0

266

1

버퍼링 궁금한 점이 있습니다.

0

287

1

restore_include_path 오류

0

315

1

php 에러발생..

0

3756

3

터미널로 php 실행시 document root 지정

0

243

1

posts가 null이라고 나옵니다.

0

207

2

rand() vs random_int() 차이점?

0

517

1

php 8 로 하시는 분들을 위한 ini 팁

1

512

1