首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fwrite结果PHP

fwrite结果PHP
EN

Stack Overflow用户
提问于 2017-02-06 11:10:09
回答 1查看 346关注 0票数 2

我现在试着在一个文件上写几个字,然后打开它。

目前,我确实取得了以下成果:

当我想要的结果是:

怎么会是这样?

TextAr只是来自文本区域的一些数字。(每一行一个id )代码:

代码语言:javascript
复制
 $text = preg_replace('/\n+/', "\n", trim($_POST['ids']));

$textAr = explode("\n", $text);
    foreach ($textAr as $k=>$v) if(empty(trim($v))) unset($textAr[$k]);



$textAr = array_filter($textAr, 'trim');

  $handle = fopen("file.txt", "w");
$saveresult = '';

foreach ($textAr as $line) {
    $line = str_replace(' ', '', $line);
    $line = preg_replace('/\D/', '', $line);
    $result = httpPost($url, $line);
    $showID = ($showID ? "".$result['id']." -" : '');
    $notexisting = ($showasnull ? 0 : "N/A");

    if ($result['manual'] == true) {
        $saveresult .= "".$showID." Manual".PHP_EOL;

    }
    if ($result['hit'] == true && $result['manual'] != true) {
        $saveresult .= "".$showID." " . $result['price'] . "".PHP_EOL;


    } else if ($result['hit'] == false) {
        $saveresult .= "".$showID." ".$notexisting."".PHP_EOL;

    }

    $saveresult .= "\r\n";

    ?>


<?PHP }
fwrite($handle, $saveresult);
fclose($handle);

header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename='.basename('file.txt'));
header('Expires: 0');
header('Cache-Control: must-revalidate');
header('Pragma: public');
header('Content-Length: ' . filesize('file.txt'));
readfile('file.txt');

编辑

我删除了$saveresult .= "\r\n";,但结果仍然相同。

编辑2:

textAr的例子:

代码语言:javascript
复制
array(2) { [0]=> string(8) "43631132" [1]=> string(8) "43631132" }

$result实例

代码语言:javascript
复制
array(4) { ["id"]=> string(8) "43631132" ["price"]=> int(0) ["hit"]=> bool(false) ["manual"]=> bool(false) }
EN

回答 1

Stack Overflow用户

发布于 2017-02-06 11:39:04

你可以独立地写每一行。这样,您就可以在写之前检查行本身是否为空。

代码语言:javascript
复制
foreach ($textAr as $line) {
    $saveresult = "";
    $line = str_replace(' ', '', $line); 
    $line = preg_replace('/\D/', '', $line);
    $result = httpPost($url, $line);
    $showID = ($showID ? "".$result['id']." -" : '');
    $notexisting = ($showasnull ? 0 : "N/A");

    if ($result['manual'] == true) {
        $saveresult .= "".$showID." Manual";    
    }
    if ($result['hit'] == true && $result['manual'] != true) {
        $saveresult .= "".$showID." " . $result['price'];
    } else if ($result['hit'] == false) {
        $saveresult .= "".$showID." ".$notexisting;    
    }
    $saveresult = trim($saveresult);
    if (!empty($saveresult)) {
        fwrite($handle, $saveresult.PHP_EOL);
    }

}    
fclose($handle);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42066328

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档