基本上,当我单击我的提交按钮时,代码应该创建一个长度为5个字符的随机字符串。然后它应该创建一个文件夹(相对位置),其名称是生成的随机字符串。然后它应该创建一个索引文件并将“content”变量写入该文件。不幸的是它甚至没有制作目录。有帮助吗?我无法弄清楚出了什么问题。
<?php
$characters = "abcdefghijklmnopqrstuvwxyz"; // Valid Folder Characters
if(isset($_POST["submit"])) {
$folder = randomString($characters, 5);
$file = fopen($folder . "/index.html", "w");
$content = "File Content";
mkdir($folder, 0777);
fwrite($file, $content);
fclose($file);
}
// Generate Random Folder Name
function randomString($valid_chars, $length) {
$random_string = "";
$num_valid_chars = strlen($valid_chars);
for($i = 0; $i < $length; $i++) {
$random_pick = mt_rand(1, $num_valid_chars);
$random_char = $valid_chars[$random_pick - 1];
$random_string .= $random_char;
}
return $random_string;
}
?>
答案 0 :(得分:0)
确保您在创建新目录的位置或目录中具有可写权限,并尝试检查
if (!mkdir($folder, 0777, true)) {
die('Failed to create folders...');
}
你还需要先创建dir然后打开文件
if(isset($_POST["submit"])) {
$folder = randomString($characters, 5);
if (!mkdir($folder, 0777, true)) {
die('Failed to create folders...');
}
$file = fopen($folder . "/index.html", "w");
$content = "File Content";
fwrite($file, $content);
fclose($file);
}
答案 1 :(得分:0)
试试这个
$oldmask = umask(0);
if(!file_exists($dir)) mkdir($dir, 0777);
umask($oldmask);