2012-10-03 6 views
1

html 파서를 사용하여 일부 제 3 자 사이트에서 데이터를 근근이 실행하는 연습을하고 있습니다. 주어진 태그를 반복하면서 mkdir() 함수를 사용하여 루프에서 사용되는 변수 중 하나의 이름을 따서 명명 된 새 폴더를 만듭니다. 나는 위의 모든 코드를 주석 때잘못된 인수 오류를내는 mkdir() 함수

에서 잘못된 인수 : 경고 : MKDIR() [function.mkdir]

foreach($s->find('a') as $t) { $inner = $t->plaintext; if(!is_dir("img/ncaa/".$team."") && !file_exists("/img/ncaa/".$team."/".substr($inner, 0, 4).".png")) { foreach($t->find('img') as $l) { $url = $l->src; } mkdir("img/ncaa/".$team.""); $img = "/img/ncaa/".$team."/".substr($inner, 0, 4).".png"; file_put_contents($img, file_get_contents($url)); } } 

내가 오류 메시지가 독서를 얻을 다음과 같이 내 코드는 간단히 작성하십시오

mkdir("img/ncaa/Boston Celtics"); 

그 것처럼 보입니다. 사용 권한과 관련이있을 수 있다고 생각했지만 사용하지 않았습니다.

제안 사항?

+0

보기 소스에서'echo $ team;'에'Boston % 20Celtics'라고 쓰여 있다면? –

+0

nope. 그렇지 않습니다. 나는 그것이 문제 일 수도 있다고 생각했다. – Lance

+0

'var_dump ($ team);'문자열 길이가 일치하는지 확인하십시오. – air4x

답변

0

실행이 대신 :

foreach($s->find('a') as $t) 
{ 
    $inner = $t->plaintext; 
    if(!is_dir("img/ncaa/".$team."") 
    && !file_exists("/img/ncaa/".$team."/".substr($inner, 0, 4).".png")) 
    { 
     foreach($t->find('img') as $l) 
     { 
       $url = $l->src; 
     } 

     $theDir = "img/ncaa/".$team.""; 
     var_dump($theDir); 
     mkdir($theDir); 

     $img = "/img/ncaa/".$team."/".substr($inner, 0, 4).".png"; 
     file_put_contents($img, file_get_contents($url)); 
    } 
} 

그리고 출력을 검사, 아마 예를 들어 내가 궁금하네요

+0

이것은 다소 작동합니다. 그것은 나에게 어떤 에러 메시지도주지는 않지만 폴더를 만드는 것이 아닙니다 ... – Lance

0

이 왜 지침의 일부에 당신이 상대 경로를 사용하는 오류를 공개합니다

:
$theDir = "img/ncaa/".$team.""; 

그리고 다른 사람의 당신은 같은 절대 경로를 사용하는

절대 경로 또는 상대 경로 중 하나를 선택해야합니다. 두 방법을 섞으면 프로그램에 혼란이 생길 ​​수 있으며, 이것이 mkdir이 작동하지 않는 이유라고 생각합니다.

0

foreach 루프가 발생하기 전에 $ team 값을 인쇄하십시오. 값이 비어있는 경우 for-each 루프 앞에 $ team = "Boston Celtics"로 명시 적으로 설정하고 작동하는지 확인하십시오.

+0

여전히 똑같습니다 ... – Lance

+0

print $ team; ? – janenz00