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中的编码中。所以我改变了那里的字符集,一切正常!不幸的是,我不能删除这个问题,也不能自己回答,给出的答案并不能解决我的问题。我确实读了另一个问题,发现它没有解决我的问题(否则我会将给出的答案标记为正确答案),谢谢,但我得到了同样的错误