2011-11-29 5 views
0
$file=file('DATA.txt'); 

계속 "스트림을 열지 못했습니다. 해당 파일이나 디렉토리가 없습니다 ...". 이것은 서버와 브라우저에서 실행할 때 작동합니다. 그러나 명령 줄을 사용하여 스크립트를 실행하면 오류가 발생합니다.PHP를 사용하여 파일을 읽을 수 없습니다.

+2

오류 메시지의 중요한 부분 만 잘라 냈습니다. – netcoder

+1

PHP CLI를 실행중인 사용자에게 파일을 읽을 수있는 권한이 있습니까? –

+1

@Carl Zulauf : 그렇지 않다면 아마도 * Permission denied * 메시지를 받게됩니다. – netcoder

답변

0

는 심호흡, 차를 가져 가라.

파일은 일반적으로 디렉토리에 있습니다. 이 말처럼 바보처럼 바보처럼, 이것은 무엇입니까? 디렉토리 란 무엇입니까?

답변 : 현재 작업 디렉토리. 이것은 서버와 CLI간에 다릅니다.

그래서 더 나은뿐만 아니라 당신의 디렉토리를 추가 :

$name = 'DATA.txt'; 
$dir = 'C:/'; 
$path = $dir.$name; 
$file = file($path); 

희망이 도움이됩니다.

0

이 문제는 확실히 몇 가지 설명,하지만이 추측이 부족 :

경로를 제공하지 않았으므로
  1. , 파일이 현재 디렉토리에 위치 할 것으로 예상된다, 그러나 서버는 대부분 다른로 실행 사용자 (예 : web)이며이 파일이이 사용자 홈 디렉토리 (또는 현재 디렉토리)에있을 것으로 예상합니다.
  2. 사용 권한 (일반적인 경우). DATA.txt 만 파일 이름입니다)

    뉴스는, 우선

0

이 작업이 발견되었습니다. $fname=str_replace(basename(__FILE__),'',__FILE__).'DATA3.txt'; Windows 및 Linux (\ 또는 /)에서 작동하기를 원하기 때문에 단순히 "dirname"을 사용할 수 없습니다.

관련 문제