我有表格:
<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文件words.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);
}
}
但它不起作用。请帮帮我。
答案 0 :(得分:1)
您的代码未运行,因为isset($add)
返回false。在第$add = $_POST[add];
行中,您将$add
分配给$_POST
元素的值,其值为常量add
,该值不存在。您需要在其周围加上引号以正确访问键值:
$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