문제

file_put_contents seems to truncate my string variable.

HTML

<div id="element">
    <?php echo file_get_contents("file.txt"); ?>
</div>

JavaScript

function submitData() {
    var string = $('textarea[name=string]').val();
    $('#element').load("submit.php?var="+string);
    $('textarea[name=string]').val("");
    var height = $('#element')[0].scrollHeight;
    $('#element').animate({
        scrollTop: height
    }, 1000);
    $('textarea[name=string]').focus();
}

PHP

$str = nl2br($_GET['var']);
if(empty($str)) {
    $str = "Error: Empty string.";
}
$str .= "<br /><br />";
$delete = $_GET['delete'];
if(isset($delete)) {
    file_put_contents("file.txt", "");
    echo file_get_contents("file.txt");
} else {
    file_put_contents("file.txt", $str.PHP_EOL, FILE_APPEND);
    echo file_get_contents("file.txt");
}

Result

If the string is "Hello, World!"; I get the following result:

Hello,
도움이 되었습니까?

해결책

You need to use URL encoded data when sending somthing with a GET request. see here for how to do it.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top