2009-07-16 6 views
2

내 cron 스크립트가 file_ put_ 내용을 사용하고있는 디렉토리의 하위 폴더에 파일을 쓰려고합니다. 그러나 나는 "스트림을 열지 못했습니다 : 해당 파일이나 디렉토리가 없습니다."라는 경고를 계속합니다.cron을 사용하여 PHP로 파일 작성하기

httpdocs/스크립트/fileDirectory

크론 스크립트는 스크립트 폴더에 살고 : 나는이 디렉토리 구조를 가지고있다. 나는 cron 명령으로 전화하십시오 cron_writeFile 파일에서

php httpdocs/scripts/cron_writeFile.php 

이, 내가 처음 시도 : 나는 브라우저에서 페이지를로드 할 때

file_put_contents('fileDirectory/', $fileName, $fileContents); 

는 작동하지만 크론은 실행하지 않을 때. 나는 크론에서 파일을 require_once를 할 때

, 나는 그에게 '절대'경로를 추가해야한다

require_once('httpdocs/scripts/requiredFile.php'); 

그래서, 나는 시도했습니다 :

file_put_contents('httpdocs/scripts/fileDirectory/', $fileName, $fileContents); 

없음을 빕니다.

"경고 : file_ 반드시 Put_ 내용 (httpdocs/스크립트/fileDirectory/4.txt) : 이 스트림을 열지 못했습니다 : 나는 경고가 있기 때문에 올바른 폴더에 점점 확신 아니오 같은 파일 또는

이 두 디렉토리는 쓰기 권한이 93 "에 /var/www/vhosts/myDomain.com/httpdocs/scripts/cron_writeFile.php 에서 디렉토리.

나는 (내가 짜증 알고 내가 업그레이드해야하지만, 내가 권한이없는)를 실행하는 VPS를 사용하고
패러랠 Plesk를 패널 버전 PHP 9.2.1 5.0.4

파일이 존재하지 않아 스크립트가 실행될 때마다 새 파일이 필요합니다.
파일 경로 나 누락 된 다른 것을 정의하는 특정 방법이 있는지 확실하지 않습니다.

도움 주셔서 감사합니다.

답변

9

dirname(__FILE__) (see)을 사용하여 "fileDirectory"디렉토리의 절대 경로를 얻으려면 어떻게해야합니까?

file_put_contents(dirname(__FILE__) . '/fileDirectory/' . $fileName, $fileContents); 

그런 식으로, 당신은 상대 경로에 의존하지 않는, 할 수있다 : 당신의 fileDirectory이 파일이있는 디렉토리의 자식 인 경우 스크립트에서이 같은

뭔가, 나는 추측 스크립트가 "올바른"디렉토리에서 시작되지 않으면 잘못되었습니다.

+0

완벽하게 작동했습니다! 고맙습니다! – chrismar035

+0

당신을 환영합니다 :-) –

관련 문제