當我瀏覽頁面中的文件時,我需要覆蓋.txt文件的內容。我已經爲它編寫了一個php腳本。下面覆蓋.txt文件的內容在php中
<input type="file" name="file" size="50" maxlength="25"> <br>
<input type="submit" name="upload" value="Upload">
形式給出和PHP腳本是
$file1=$_FILES['file'];
$out = file_get_contents($file1);
$file2 = "molecule.txt";
$filehandle = fopen($file2, "a");
$file_contents = file($file1);
$count = count(file($file1));
file_put_contents($file2, "");
$newlineno = 0;
foreach ($file_contents as $line_num => $line) {
if (strpos($line, 'Standard orientation:') !== false) {
for ($lineno = $line_num + 5; $lineno <= $count; $lineno++) {
$line = $file_contents[$lineno];
if (strpos($line, 'Rotational constants (GHZ):') != false) {
break;
}
$line = preg_replace('/\s+/', ' ', $line);
$split = explode(" ", $line);
$symbol = $mapping[$split[2]];
$x = $y = $z = '';
if ($split[4] >= 0) {
$x = ' ' . $split[4];
} else {
$x = $split[4];
}
if ($split[5] >= 0) {
$y = ' ' . $split[5];
} else {
$y = $split[5];
}
if ($split[6] >= 0) {
$z = ' ' . $split[6];
} else {
$z = $split[6];
}
$x = substr($x, 0, -3);
$y = substr($y, 0, -3);
$z = substr($z, 0, -3);
$newlineno++;
$newline = "ATOM\t" . $newlineno . "\t" . $x . "\t" . $y . "\t" . $z . "\t" . $symbol . "\n";
fwrite($filehandle, $newline);
}
}
}
fclose($filehandle);
$lines = file($file2);
$last = sizeof($lines) - 1 ;
unset($lines[$last]);
$fp = fopen($file2, 'w');
fwrite($fp, implode('', $lines));
fclose($fp);
echo "File UPLOADED SUCESSFULLLy";
?>
<form method="POST" action="molecules.html"><br><br>
<p><input type="submit" name="structure" value="View file">
在molecule.html
文件中包含的代碼顯示molecule.txt
文件
的內容,但它沒有覆蓋的內容molecules.txt
文件。
我還需要什麼補充嗎?請幫幫我。
在此先感謝。
看起來像屬於數據庫的數據 – 2015-07-13 06:25:30
如果您嘗試刪除寫入文件的內容,然後以寫入模式打開文件,而不是追加模式。 – sAcH
你可以分享你的'molecule.html'文件代碼嗎?在分子.html文件中的代碼 –