Я поискал по этому сайту ответ, но не нашел помощи в решении своей проблемы. У меня есть сценарий с формой, и я хотел бы получить содержимое ввода, записанное в текстовый файл (например, построчно в файле mytext.txt) при нажатии кнопки отправки - или, может быть, проще только результат.
Результат / содержание "echo $ result ['text'];" следует сохранить в текстовый файл (mytext.txt)
Я пытался добавить что-то подобное после каждого "эха", но это не сработало. вот пример кода.
$f = fopen("mytext.txt", "w");
fwrite($f, $result);
fclose($f);
или же
$f = fopen("mytext.txt", "w");
fwrite($f, $username);
fclose($f);
или же
$txt = "$result";
$myfile = file_put_contents('mytext.txt', $txt.PHP_EOL , FILE_APPEND | LOCK_EX);
но все равно не повезло. Как это сделать и куда добавить? С PHP или, может быть, с JavaScript? Помоги пожалуйста.
редактировать: ЧАСТЬ сценария (извини, что забыла об этом)
<?php
if (count($check_ex) == 2){
$ex_name = $check_ex[0]."_".$check_ex[1];
}else{
$ex_name = $check_ex[0];
}
$additional_button = "<a href='javascript:void(0)' onclick='submitform_$dom_$ex_name()' ><button id='buy' class='btn btn-success btn-xs pull-right order-btn'>".__($additional_button_name, 'kate')."</button></a>";
}elseif ($integration == 'woocommerce'){
if ($show_price){
$show_price = '- '.kate_display_price($username).__('/year','kate');
}
$additional_button = "<a href='?&add-to-cart=$additional_button_link&username=$username' id='buy' class='btn btn-success btn-xs pull-right order-btn' $buy_new_tab >".__($additional_button_name,'kate')." $show_price</a>";
}elseif ($integration == 'custom'){
if (!$additional_button_name == '' AND !$additional_button_link == ''){
$additional_button_links = str_replace( '{username}', $username, $additional_button_link );
$additional_button = "<a id='buy' class='btn btn-success btn-xs pull-right order-btn' href='$additional_button_links' $buy_new_tab >".__($additional_button_name,'kate')."</a>";
}else{
$additional_button = '';
}
}else{
$additional_button = '';
}
$custom_not_found_result_text = str_replace( '{username}', $username, $custom_not_found_result_texts );
$whmcs = "<script type='text/javascript'>
function submitform_$dom_$ex_name()
{
document.whmcs_$dom_$ex_name.submit();
}
</script>
<form method='post' name='whmcs_$dom_$ex_name' id='whmcs' action='$additional_button_link/cart.php?a=add&username=register' $buy_new_tab>
<input type='hidden' name='usernames[]' value='$username' >
<input type='hidden' name='usernamesregperiod[$username]' value='1'>
</form>";
if ($available->status == 1) {
$result = array('status'=>1,
'username'=>$username,
'text'=> '<div class = "callout callout-success alert-success clearfix available">
<div class = "col-xs-10" style = "padding-left:1px;text-align:left;">
<i class = "glyphicon glyphicon-ok" style = "margin-right:1px;"></i> '.__($custom_found_result_text,'kate').' </div>
<div class = "col-xs-2" style = "padding-right:1px">'.__($additional_button,'kate').' '.$whmcs.'</div>
</div>
');
echo $result['text'];
} elseif ($available->status == 0) {
$result = array('status'=>0,
'username'=>$username,
'text'=> '<div class = "callout callout-danger alert-danger clearfix not-available">
<div class = "col-xs-10" style = "padding-left:1px;text-align:left;">
<i class = "glyphicon glyphicon-remove" style = "margin-right:1px;"></i> '.__($custom_not_found_result_text, 'kate').'
</div>
<div class = "col-xs-2" style = "padding-right:1px">'.$www_link.'</div>
</div>
');
echo $result['text'];
}elseif ($available->status == 2) {
$result = array('status'=>2,
'username'=> $username,
'text'=> '<div class = "callout callout-warning alert-warning clearfix notfound">
<div class = "col-xs-10" style = "padding-left:1px;text-align:left;">
<i class = "glyphicon glyphicon-exclamation-sign" style = "margin-right:1px;"></i> '.__('not found','kate').'
</div>
</div>
');
echo $result['text'];
}
}
}
else
{
echo 'Please enter the username';
}
}
Находится ли путь к текстовому файлу в том же каталоге, что и файл php?
Вы уверены, что ищете файл в правильном каталоге? Попробуйте использовать абсолютный путь, чтобы быть уверенным, что он пишет в нужный каталог. И убедитесь, что у пользователя, запускающего сценарий, есть разрешение на создание файлов в этом каталоге.
При чем здесь Javascript?
Кстати, file_put_contents вернет количество записанных байтов, а не указатель на этот файл. Вот документ: php.net/manual/en/function.file-put-contents.php
Отредактировал свой пост, извините, что забыл добавить. У скрипта есть разрешение на создание файлов в этом каталоге, я тестирую его на localhost (xampp с apache2 и php7). Куда я могу это добавить?






Если у вас возникают ошибки при попытке запустить этот код, убедитесь, что вы предоставили доступ к файлу PHP для записи информации на жесткий диск.
В Unix и Windows разрешения предоставляются пользователям, а не отдельным файлам.
Вы должны проверить, доступен ли для записи каталог, в котором вы пытаетесь сохранить текстовый файл. Пример:
$contents = 'Here goes your content';
$dirName = __DIR__; //in case you're saving in another directory, you may use 'files/directory/' instead of __DIR__
$fileName = $dirName.'/mytext.txt';
if (!is_writable($dirName)) {
throw new \Exception("This folder is not writable: '$dirName'");
}
//Checks if the content was added
if (!file_put_contents($fileName, $contents)) {
throw new \Exception("Could not write to file: $fileName");
}
Код правильный, возможно, у каталога нет разрешения на создание файлов.
ты уверен, что это не работает? я думаю, что ваши первые два кода работают