require_once 'dir.func.php';
require_once 'file.func.php';
require_once 'common.func.php';
$path="file";
$info=readDirectory($path);
$act= $_REQUEST['act'];
$filename=$_REQUEST['filename'];
if($act == "createFile"){
//创建文件
echo $_REQUEST['act'],"--";
echo $_REQUEST['filename'];
// $mes=createFile($path."/".$filename);
// alertMes($mes,$redirect);
}
?>
浏览器上显示
Notice: Undefined index: act in D:\WWW\fileManager\index.php on line 8
Notice: Undefined index: filename in D:\WWW\fileManager\index.php on line 9
$act和$filename没定义成功,这个是什么原因呀!有同学说 $_REQUEST前面加@就没有提示了,但是我创建不了文件呀。。
重命名只获取到了重命名时的名字,没有获取到原来的filename
Notice: Undefined index: act in
D:\phpStudy\WWW\dongtai\everyany\shopimooc\admin\doAdminAction.php on
line 4
Notice: Undefined variable: mes in
D:\phpStudy\WWW\dongtai\everyany\shopimooc\admin\doAdminAction.php on
line 22
还是不行,求解!!!<?php
header("Content-Type: text/html;charset=utf-8");
require_once 'dir.func.php';
require_once 'file.func.php';
require_once 'common.func.php';
$path = 'File';
$act = $_REQUEST['act'];
$filename = $_REQUEST['filename'];
$info = readDirectory($path);
$redirect = "index.php?path={$path}";
if ($act == "createFile") {
//创建文件
//echo $filename;
//echo $path."--";
$mes = createFile($path . "/" . $filename);
alterMes($mes, $redirect);
} elseif ($act == "showContent") {
$content = file_get_contents($filename);
//echo "<textarea readonly='readonly' cols='100' rows='10'>{$content}</textarea>";
if (strlen($content)) {
highlight_string($content); //高亮显示字符串中的PHP代码
// 高亮显示文件中的PHP代码 highlight_file($content)
} else {
alterMes("文件没有内容,请编辑后再查看!", $redirect);
}
} elseif ($act == "editContent") {
//修改文件内容
//获取文件内容
$content = file_get_contents($filename);
$str = <<< EOF
<form action = 'index.php?act = doEdit' method = 'post'>
<textarea name = 'content' cols ='100' rows = '20'>{$content}</textarea></br>
<input type='hidden' name='filename' value='{$filename}'/>
<input type="hidden" name="path" value="{$path}" />
<input type = 'submit' value = "修改文件内容"/>
</form>
EOF;
echo $str;
} elseif ($act == "doEdit") {
//修改文件内容的操作
$content = $_REQUEST('content');
//echo $filename;exit;
echo $content;
if (file_put_contents($filename, $content)) {
$mes = "文件修改成功";
} else {
$mes = "文件修改失败";
}
alterMes($mes, $redirect);
} elseif ($act == "renameFile") {
//完成重命名
$str = <<<EOF
<form action="index.php?act=doRename" method ="post">
请填写新文件名:<input type="text" name="newname" placeholder="重命名"/>
<input type='hidden' name='filename' value='{$filename}'/>
<input type="submit" value="重命名"/>
</form>
EOF;
echo $str;
}elseif($act == "deRename"){
//实现重命名的操作
$newname = $_REQUEST['newname'];
renameFile($filename,$newname);
}
?>
我是小白,应该是表单那里没有 name="filename" name="path"这两个
因为index.php在打开的的时候就会去执行代码,显然这两个变量在未添加新文件的时候,是不存在的,所以分别做一个判断就可以了,代码如下【请看加粗部分】:
<?php
require_once 'dir.func.php';
require_once 'file.func.php';
require_once 'common.func.php';
$path="file";
$info=readDirectory($path);
// print_r($info);
if(isset($_REQUEST['act'])){
$act=$_REQUEST['act'];
}
if(isset($_REQUEST['filename'])){
$filename=$_REQUEST['filename'];
}
$redirect="index.php?path={$path}";
if(isset($act)){
if($act == "createFile"){
$mes = createFile($path."/".$filename);
alertMes($mes,$redirect);
}
}
我也出现这样的情况,现在还不不知道怎么办。顶上去~
这个比较简单,你可以@压制,或者重定义一下这些post,get或者request请求