jpgraphを使用して処理されたデータファイルをアップロードできるWebサイトを作成する必要があります。このファイルは、analfile.shというbashスクリプトで解析されます。 bashスクリプトは次のようになります。動的ファイル名でfopenが動作しない
#!/bin/bash
file=$1
fecha=`date +%s`
mv $1 $fecha.dat
echo $fecha.dat
したがって、名前が1321290921.datの別のファイルが戻されます。それは私がプロットする必要があるファイルです。
この私の現在のPHPコード:
$target_path = "/home/myhome";
$target_path = $target_path . basename($_FILES['rdata']['name']);
$target_file = basename($_FILES['rdata']['name']);
if(move_uploaded_file($_FILES['rdata']['tmp_name'], $target_path)) {
echo "The file ". $target_file. " has been uploaded";
chdir('/home/myhome');
$filetoplot=shell_exec('./analfile.sh'.' '.$target_file);
} else{
echo "There was an error uploading the file, please <a href=\"index.html\">try again!
</a>";
}
//$filetoplot="1321290921.dat"
echo "<br>The file to be opened is ". $filetoplot. "<br>";
if ($file_handle = fopen("$filetoplot", 'r')) {
while ($line_of_text = fgets($file_handle)) {
$parts = explode('.', $line_of_text);
echo $line_of_text ;
print $parts[0] . $parts[1]. $parts[2]. "<br>";
}
fclose($file_handle);
}
私が読んで、ターゲットディレクトリに書き込み権限を持っています。私は、$ filetoplot = "1321290921.dat"という行のコメントを外すと、スクリプトが完璧に動作することが不思議に思う。私はこれはPHPで私の最初のコードですので、私は何かばかげてやっていると思うが、数時間後に私は解決策を見つけることができませんでした。
ご協力いただければ幸いです。
PHPをセーフモードで実行していないことを再度確認します。 –