我对PHP很新,所以问题看起来很简单。我有一个带有这些属性的输入的html文件:
<td width="30%">
<input type="text" id="prog1" name="prog1" style="width:150px">
</td>
我必须在服务器上的另一个名为wars
的文件夹中创建一个新文件夹。新文件夹的名称存储在该输入中。例如,如果输入的文本是“home”,我的PHP脚本将在此处创建一个文件夹:wars/home
。
<?
$val = $_REQUEST['prog2'];
mkdir("/wars/".$val, 0777);
?>
这是我的代码,但它不起作用,因为在主文件夹wars
内我找不到home
。你有什么建议吗?
答案 0 :(得分:2)
主要问题是拼写错误:
$val = $_REQUEST['prog2'];
您的表单只有<input name="prog1" ...
。但是,您还必须认真考虑清理变量:
$val = $_REQUEST['prog1'];
// only allow alphabetical characters
if (preg_match('/^[a-z]+$/', $val)) {
mkdir("/wars/$val", 0777);
}
最后,请考虑使用$_POST
代替$_REQUEST
,除非您永远不知道该变量的来源。
答案 1 :(得分:1)
尝试:
<?php
$val = $_POST['prog1'];
mkdir("/wars/".$val, 0777);
?>
注意错误的输入prog1 !== prog2
属性,也学会做一些简单的调配,例如:
<?php echo '<pre>'.print_r($_POST,true).'</pre>'; ?>
还可以在开发时启用错误报告。
<?php error_reporting(E_ALL); ?>