is_file 문의

is_file 문의

QA

is_file 문의

본문

아래와 같이 하면 1개만 있을땐 <img src="">가 되는데요.


$aaa에 여러개중
즉) 있는것도 있고 없는것도 있는데요.
무조건 <img src=""> 되어버리네요.

 

$mk = explode("|", $aaa);
if(is_file('/file/'.$mk)) {
$aaa = '<img src="'/file/'.$mk.'">';
} else {
$aaa = '';
}

 

위 코드가 잘못 된건가요?

고수님들 도움 좀 부탁드립니다.

이 질문에 댓글 쓰기 :

답변 3

$mk = explode("|", $aaa);

if(sizeof($mk) > 1) {
    for ($i=0; $i < sizeof($mk); $i++){
        if(is_file('/file/'.$mk[$i])) {
            $aaa = '<img src="'/file/'.$mk[$i].'">';
        } else{
            $aaa = '';
        }
    }
} else{
        if(is_file('/file/'.$mk)) {
            $aaa = '<img src="'/file/'.$mk.'">';
        } else{
            $aaa = '';
        }
}

님 답글 감사합니다.
알려주신대로하면 1개와 여러개일때를 구분 하는것 같은데요.
제가 설명을 제대로 못한듯 하네요.ㅠㅠ
제가 원하는건 여러개일때 하나는 있는 파일이고 하나는 없는 파일입니다.
이럴때 없는 파일은 <img 태그가 안들어가야 하는거거든요. ㅠ

우선 explode로 자를 때 자른 위치를 지정해줘야 할 것 같습니다. 

 

if(is_file('/file/'.$mk[0])) {, 또는 if(is_file('/file/'.$mk[1])) { 이런식으로 ...

$mk = explode("|", $aaa);  여기서

explode 함수는 배열을 리턴합니다 $mk에 배열형이 입력된다는 것이죠.

배열 루프돌려서 처리해야 합니다.

평정심님의 답변 코드에 루푸돌며 처리하는 부분이 있네요.

평정심님 코드에서 if else 문을 지우시고 if 문 속에 루프처리 부분만 사용하시면 되겠네요.

 


    for ($i=0; $i < sizeof($mk); $i++){
        if(is_file('/file/'.$mk[$i])) {
            $aaa = '<img src="'/file/'.$mk[$i].'">';
        } else{
            $aaa = '';
        }
    }
답변을 작성하시기 전에 로그인 해주세요.
전체 123,476 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT