2009-07-16 8 views
2

私のcronスクリプトがfile_ put_ contentsを使っているディレクトリのサブフォルダにファイルを書き込もうとしています。しかし、私は "ストリームを開けませんでした:そのようなファイルやディレクトリはありません"という警告が表示され続けます。PHPでファイルをcronで書く

をhttpdocs /スクリプト/ fileDirectory

cronスクリプトは、scriptsフォルダに住んでいる: は、私は、このディレクトリ構造を持っています。私は、cronコマンドでそれを呼び出す:

php httpdocs/scripts/cron_writeFile.php 

cron_writeFileファイルでは、私が最初に試さ:

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

私は、ブラウザでページを読み込む際に働くが、ないのcronが実行されたとき。私はcronの中のファイルをrequire_onceをするとき

は、私はそれに '絶対' パスを配置する必要があります:

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

だから、私が試したこと:

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

ありません運。

「警告:_ファイルタイプput_内容(をhttpdocs /スクリプト/ fileDirectory/4.txt): は、ストリームをオープンに失敗しました:私は警告があるので、それは右のフォルダになってきたかなり確信していないそのようなファイルやライン93" 上の /var/www/vhosts/myDomain.com/httpdocs/scripts/cron_writeFile.php でディレクトリ

両ディレクトリが書き込み権限を持っています。

私はPHP 5.0.4で実行しているVPS(私はそれが吸う知っていると私はアップグレードする必要があるが、私が権限を持っていない)
にParallels Plesk Panelのバージョン9.2.1 を使用しています

ファイルが存在せず、スクリプトが実行されるたびに新しいファイルが必要です。
ファイルパスやその他の不足しているものを定義する方法があるかどうかはわかりません。あなたの助けのための

ありがとう!

答えて

9

dirname(__FILE__)see)を使用して "fileDirectory"ディレクトリへの絶対パスを取得するとどうなりますか?

スクリプト内でこのような何か、あなたのfileDirectoryがあなたのファイルがあるディレクトリの子である場合、私は、推測:

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

そのように、あなたがすることができ、相対パスに依存しませんあなたのスクリプトが "正しい"ディレクトリから起動されていない場合は間違っています。

+0

完璧に作業しました!ありがとうございました! – chrismar035

+0

歓迎します:-) –

関連する問題