PDA

View Full Version : سوال: خطا در ایجاد خط



ahmadreza517
یک شنبه 28 اسفند 1390, 11:53 صبح
به نام تنها برنامه نویس هستی
سلام ,
کد زیر اجرا می کنم خطا می ده



$image = imagecreate(200,200);
$color = imagecolorallocate($image,200,150,222);
imageline($image,10,10,20,20,$color);

header("content_type: image/png");
imagepng($image);


خطا اینه :

Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\index.php:6) in C:\wamp\www\index.php on line 14

MMSHFE
یک شنبه 28 اسفند 1390, 12:17 عصر
این خطا مربوط به کد شما نیست. بخاطر اینه که قبل از ارسال خروجی و اجرای توابع header، اطلاعات برای مرورگر ارسال شده. راههای زیر رو امکان کنید:
1- فایل رو با کدگذاری UTF-8 without BOM ذخیره کنید.
2- تگ PHP اولین کارکتر فایل باشه (قبلش حتی یک Space هم نباشه).
3- اولین دستور داخل تگ PHP رو ;()ob_start قرار بدین.
4- آخرین دستور تگ PHP رو هم ;()ob_end_flush بگذارین.
موفق باشید.

ahmadreza517
یک شنبه 28 اسفند 1390, 14:54 عصر
سپاس از شما ، انجام دادم خطا نمی ده ولی نتیجه هم نداره عبارت درهم بی معنی نشون میده

MMSHFE
یک شنبه 28 اسفند 1390, 16:43 عصر
عزیز Content-Type هست نه content_type

ahmadreza517
یک شنبه 28 اسفند 1390, 19:02 عصر
اقا دستت درد نکنه ولی تغییراتی که گفتید انجام دادم ولی حل نشد.

این کدم تست کردم ولی جواب نداد خطا می ده



<?php

// create a 200*200 image
$img = imagecreatetruecolor(200, 200);

// allocate some colors
$white = imagecolorallocate($img, 255, 255, 255);
$red = imagecolorallocate($img, 255, 0, 0);
$green = imagecolorallocate($img, 0, 255, 0);
$blue = imagecolorallocate($img, 0, 0, 255);

// draw the head
imagearc($img, 100, 100, 200, 200, 0, 360, $white);
// mouth
imagearc($img, 100, 100, 150, 150, 25, 155, $red);
// left and then the right eye
imagearc($img, 60, 75, 50, 50, 0, 360, $green);
imagearc($img, 140, 75, 50, 50, 0, 360, $blue);

// output image in the browser
header("Content-type: image/png");
imagepng($img);

// free memory
imagedestroy($img);

?>


خطا :
Warning: Cannot modify header information - headers already sent by (output started at C:\wamp\www\index.php:10) in C:\wamp\www\index.php on line 30
خط 30 ام همون Content است.

دستور header چه این دستور و دستورای(در موارد مختلف) دیگه اصلا عمل نمی کنه

MMSHFE
دوشنبه 29 اسفند 1390, 00:02 صبح
این کد رو استفاده کنید ببینید درست میشه یا نه؟ ضمناً دقت کنید که فایل حتماً با کدگذاری UTF-8 without BOM ذخیره بشه.


<?php
ob_start();

// create a 200*200 image
$img = imagecreatetruecolor(200, 200);

// allocate some colors
$white = imagecolorallocate($img, 255, 255, 255);
$red = imagecolorallocate($img, 255, 0, 0);
$green = imagecolorallocate($img, 0, 255, 0);
$blue = imagecolorallocate($img, 0, 0, 255);

// draw the head
imagearc($img, 100, 100, 200, 200, 0, 360, $white);

// mouth
imagearc($img, 100, 100, 150, 150, 25, 155, $red);

// left and then the right eye
imagearc($img, 60, 75, 50, 50, 0, 360, $green);
imagearc($img, 140, 75, 50, 50, 0, 360, $blue);

// output image in the browser
header('Content-type: image/png');
imagepng($img);

// free memory
imagedestroy($img);

ob_end_flush();
?>

موفق باشید.

ahmadreza517
دوشنبه 29 اسفند 1390, 13:04 عصر
اقا شرمنده خستت کردم

کد بالا رو تو notepad کپی و با کدینگutf-8 ذخیره می کنم ولی بازم خطا می ده از Content

MMSHFE
دوشنبه 29 اسفند 1390, 13:16 عصر
نه دوست عزیز با Notepad کار نکنید. با یک ادیتور پیشرفته تر مثل ++Notepad یا Rapid PHP یا Dreamweaver فایل رو ذخیره کنید و از کدگذاری UTF-8 without BOM استفاده کنید نه UTF-8 معمولی چون این کدگذاری، سه بایت موسوم به BOM (مخفف Byte Order Mark) به ابتدای فایل اضافه میکنه که قبل از ارسال داده های فایل، برای مرورگر ارسال میشه و درنتیجه دیگه نمیتونید هدر رو تغییر بدین. موفق باشید.

Reza1607
دوشنبه 29 اسفند 1390, 13:20 عصر
سلام دوست عزيز
همونظور كه آقاي شهركي گفتند مشكل شما رو كد گذاري هست شما بايد با utf8 without BOM فايل رو ذخيره كنيد من براتون كدها رو داخل يك فايل كپي كردم و براتون ضميمه كردم

ahmadreza517
دوشنبه 29 اسفند 1390, 21:26 عصر
دست شما دوستان درد نکنه من از Dreamweaver استفاده می کنم صفحه را که save میکنم UTF-8 without BOM نیست :ناراحت:
84460

84461

mahan19
سه شنبه 01 فروردین 1391, 21:05 عصر
من پیشنهاد میکنم از ++notepad (http://notepad-plus-plus.org/download) استفاده کنید