将输入转换为$ String问题

时间:2016-05-15 03:25:24

标签: php

我正在使用一个php表单,用户在输入框中输入文件名,然后表单应该使用$ path,$ name和$ ends来创建一个正确的路径来打开文件并抓住机会来自]没有[到]是[。

但我没有正确的格式,因为它不起作用。如果我将所有内容输入$ path,它确实有效,但它没有正确转换文本框文件名。

任何帮助都会得到极大的赞赏!

############### Code Below ###################
<?php

echo "<table border = 0><tr><td align=left valign=center>";


echo "Please paste the file name below:</br>";
echo "<form method='POST' action='3.php'>";
echo "<input type = 'text' name='$name'/>";
echo "<input type='submit' value='Submit'/>";
echo "</form>";
$path="/home/users/web/b1262/moo.mybidszcom/sandbox/";
$ending='.dat';
$file = ("$path$name$ending");
$file_contents = file_get_contents($file);

$fh = fopen($file, "w");
$file_contents = str_replace(']no[',']yes[',$file_contents);
fwrite($fh, $file_contents);
fclose($fh);

echo "</td><td></td></tr></table>";
?>

2 个答案:

答案 0 :(得分:0)

检查$_POST['theValue']是否设置,如果没有,则显示表单,否则执行代码。

if(!isset($_POST['theValue'])){
    echo <<< EOF
    <table border = 0>
        <tr>
            <td align=left valign=center>
                Please paste the file name below:</br>
                <form method='POST' action='3.php'>
                <input type ='text' name='theValue'/>
                <input type='submit' value='Submit'/>
                </form>
            </td>
            <td></td>
        </tr>
    </table>";
EOF;
}else{
    $name = $_POST['theValue'];
    $path="/home/users/web/b1262/moo.mybidszcom/sandbox/";
    $ending='.dat';
    $file = "{$path}{$name}{$ending}";
    $file_contents = file_get_contents($file);
    $file_contents = str_replace(']no[',']yes[',$file_contents);
    file_put_contents($file, $file_contents);
}

答案 1 :(得分:-1)

你应该像那样解决

null

您的文件名必须是3.php

您的代码无效,因为您向服务器发送帖子时。您的输入值将存储为$ _POST [&#39; your_input_name&#39;]。 $ _POST是您的表单方法,如果您将表单的方法更改为GET,则为$ _GET