PHP头错误警告:无法修改头信息-头已由PHP文件第1行中的(输出从myphpfile:1开始)发送

PHP头错误警告:无法修改头信息-头已由PHP文件第1行中的(输出从myphpfile:1开始)发送,php,character-encoding,Php,Character Encoding,我的脚本开头有标题,所以我不知道为什么会出现这个错误,有人有其他想法吗?我试图在稍后的脚本中发送一封电子邮件,但它包含捷克字符 <?php ob_start(); header('Content-Type: text/plain; charset=Windows-1252;'); $dayofweek = getdate(); if($dayofweek[weekday] == "Friday") { die(0); /*} elseif($dayofweek[weekday] =

我的脚本开头有标题,所以我不知道为什么会出现这个错误,有人有其他想法吗?我试图在稍后的脚本中发送一封电子邮件,但它包含捷克字符

<?php
ob_start();
header('Content-Type: text/plain; charset=Windows-1252;');
$dayofweek = getdate();
if($dayofweek[weekday] == "Friday") {
    die(0);
/*} elseif($dayofweek[weekday] == "Saturday") {
    die(0); */
} else{
        $aCSVFile = 'filepath';
        if(file_exists($aCSVFile)) {
        echo("$dayofweek[weekday]");
        $connect = mysql_connect("localhost","dbname","dbpass");
        echo("\n connected to sql");
        mysql_select_db("dbname",$connect); 
        echo("\n connected to db");
        $convertNow = mb_convert_encoding($aCSVFile, 'UTF-8', 'auto');
        $handle = fopen($convertNow,"r");
        echo("\n file opened");
        //loop through the csv file and insert into database            
do {
    if ($data[0]) {            
        mysql_query("INSERT INTO bakery_items(UserID, Order_status, Date_from, Date_until, Product_ID, Product_quantity, OrderID) VALUES
            (
                '$data[0]',
                '$data[1]',
                '$data[2]',
                '$data[3]',
                '$data[4]',
                '$data[5]',
                '$data[6]'
            )
        "); 
    }
} while ($data = fgetcsv($handle,1000,",","'"));
  unlink($aCSVFile);
    $fileToSendPath = 'somefilepath';
$fileToSend = fopen($fileToSendPath,'w');
    $Cmdbase = "base string";
              if($dayofweek[weekday] != "Thursday") {
              $Cmdbase = "SELECT Product as PRODUKT, Total as POČET FROM ORDER_LIST";
    } else {
              $Cmdbase = "SELECT Product as PRODUKT, Total as POČET FROM ORDER_LIST_WKND";
    }
$sql = mysql_query($Cmdbase);
while($row = mysql_fetch_array($sql))
{
        $user = $row['PRODUKT'];
        $pass = $row['POČET'];

        $accounts = "$user:$pass \n";
    fwrite($fileToSend, $accounts);

              }
      $bodytext = "Dobrý Den, Posíláme vám náše obědnavku pro nasledujici den, děkujeme.";
      /*$bodytext = mb_convert_encoding($Bodytxt,'HTML-ENTITIES', 'Windows-1252');*/
              fclose($fileToSend);
      echo('file created');       
      require_once('wp-includes/PHPMailer-master/class.phpmailer.php');
      $email = new PHPMailer();
      $email->From      = 'myemail@email.cz';
      $email->FromName  = 'Broodjes';
      $email->Subject   = 'Obědnavka od ';
          $email->Body      = $bodytext;
          $email->AddAddress('soso@hotmail.com' );

      $file_to_attach = 'someFilePath';
              $email->AddAttachment( $file_to_attach , 'Obednavka_NaVenkove.txt' );
      return $email->Send();
      echo('file sent');
      unlink($fileToSendPath);
          }


ob_start();给出了相同的错误确实不确定如何执行,我不知道这是否有区别,但安装了wordpress的实例,但脚本是我自己创建的,不工作我已更新问题中的代码以提供给您所有的

可能是空白,请尝试以下操作:

<?php
header('Content-Type: text; charset=Windows-1252;');
     $dayofweek = getdate();
     if($dayofweek[weekday] == "Friday") {
          die(0);
    /*} elseif($dayofweek[weekday] == "Saturday") {
              die(0); */
      }?>


尝试在第一行添加ob_start()。我已经了解到ob_start()不是最佳实践,我应该放置什么作为ob_start的参数?ob_start不接受任何参数。把它放好。这是可行的。我使用它,我知道这是一个很好的练习。这确实是一个副本,你读了链接问题中的答案了吗?它将告诉您如何找到启动输出的脚本。很可能此时无法发送标题,因为在调用此脚本之前wordpress已启动输出。@jmarkmurphy我已请求版主删除此帖子,因为我已解决了错误。最后,我删除了标题,因为我发现问题出在phpmailer中的编码中。所以我改变了那里的字符集,一切正常!不幸的是,我不能删除这个问题,也不能自己回答,给出的答案并不能解决我的问题。我确实读了另一个问题,发现它没有解决我的问题(否则我会将给出的答案标记为正确答案),谢谢,但我得到了同样的错误