尝试重新加载创建回textarea的文件以进行重新编辑。
需要扩展Saving file into new directory using fwrite
提出的问题我试图使用来自的信息 Drop Down Select File And Include It into Same Page没有成功。
我可以将my / temp目录中列出的文件放到下拉列表中,但无法弄清楚如何将它们重新加载到文本区域。
这是我完整的PHP页面:
<?php
function saveFile($filename,$filecontent){
if (strlen($filename)>0){
$folderPath = 'temp';
if (!file_exists($folderPath)) {
mkdir($folderPath);
}
$file = @fopen($folderPath . DIRECTORY_SEPARATOR . $filename,"w");
if ($file != false){
fwrite($file,$filecontent);
fclose($file);
return 1;
}
return -2;
}
return -1;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>Save File Test</title>
<link href="style/style.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="main">
<div class="caption">Save File & Edit Test</div>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain" id="domain">
<table width="100%">
<tr><td>File Name to Create: <input class="text" name="filename" type="text" size="40" value="test.ini" /></td></tr>
<tr><td><br/>File Content: <textarea class="text" name="filecontent" rows="15" cols="146"></textarea></td></tr>
<tr><td align="center"><br/><input class="text" type="submit" name="submitBtn" value="Save File" /></td></tr>
</table>
</form>
<?php
if (isset($_POST['submitBtn'])){
$filename = (isset($_POST['filename'])) ? $_POST['filename'] : '' ;
$filecontent = (isset($_POST['filecontent'])) ? $_POST['filecontent'] : '' ;
?>
<div class="caption"></div>
<div id="result">
<table width="100%">
<?php
if (saveFile($filename,$filecontent) == 1){
echo "<tr><td><br/>File was saved!<br/><br/></td></tr>";
} else if (saveFile($filename,$filecontent) == -2){
echo "<tr><td><br/>An error occured, most likely cause is file writing permissions!<br/><br/></td></tr>";
}
?>
</table>
</div>
<?php } ?>
<!-- My Dropdown Box at Bottom of Page -->
<br/>
Temp Folder Contents Load Into Textarea:
<br />
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="domain" id="domain">
<select name="select" onChange="document.domain.submit()">
<option value="" selected="selected">-----</option>
<?php
foreach(glob(dirname(__FILE__) . '/temp/*') as $filename){
$filename = basename($filename);
echo "<option value='" . $filename . "'>".$filename."</option>";
}
?>
</select>
</form>
</div>
</body>
</html>
由于使用/ temp目录中的多个文件,因此应将它们自动填充到下拉列表中。
根本不确定“foreach(glob(dirname( FILE )。'/ temp / ')为$ filename)”。唯一可以获取目录列表内容的方法是添加星号/
如果可能的话,喜欢使用纯PHP(带有少量的javascript)。学校防火墙对jquery感到兴奋,但很乐意以任何方式工作。
不一定是下拉列表,只是看起来最简单,空间最少。
预先感谢您的帮助,需要完成学校项目。