0

我有形式:

<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);
}
}

但它不起作用。请帮帮我。

4

1 回答 1

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
于 2013-11-07T02:49:56.993 回答