我有形式:
<form method="post">
<textarea name="add" cols="50" rows="20"></textarea>
<br>
<input type="submit" formaction="make.php" value="MAKE"><br><br><br>
</form>
我使用此表单发布几行,例如:
lala
lalal12
blabla
我也有很大的txt文件单词.txt。我需要从这个文件中随机获取 1000 行,并将它们放入 lala.txt、lalal12.txt、blabla.txt-1000 个不同的随机行中。我尝试做:
<?php
$words = file_get_contents('words.txt');
$add = $_POST[add];
if (isset($add)) {
$arr = explode( "'n", $add);
foreach($arr as $row) {
shuffle($words);
$out = array_slice($words, 0, 1000);
$out = implode("'n", $out);
file_put_contents($row.'.txt', $out);
}
}
但它不起作用。请帮我。
您的代码未运行,因为isset($add)
返回 false。在行$add = $_POST[add];
中,您将$add
赋值给具有常量add
的 $_POST
元素的值,该值不存在。您需要在它周围括起引号才能正确访问键值:
$add = $_POST['add']; // access the POST value for key "add"
这也可以工作,但并不是真正的正确方法,把它放在这里是为了突出你使用add
作为常量:
define('add', 'add'); // set the constant add to the string value "add"
$add = $_POST[add]; // access the POST value