رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
چرا این ارور رو می ده ؟ (headers)
#1
سلام، بنده کد زیر رو دارم :
<?php

function img($img)
{
// Load the stamp and the photo to apply the watermark to
    $stamp = imagecreatefrompng('Images/WaterMark.png');
    $im = imagecreatefromjpeg($img);

// Set the margins for the stamp and get the height/width of the stamp image
    $marge_right = 10;
    $marge_bottom = 10;
    $sx = imagesx($stamp);
    $sy = imagesy($stamp);

// Copy the stamp image onto our photo using the margin offsets and the photo
// width to calculate positioning of the stamp.
    imagecopy($im, $stamp, imagesx($im) - $sx - $marge_right, imagesy($im) - $sy - $marge_bottom, 0, 0, imagesx($stamp), imagesy($stamp));

// Output and free memory
    header('Content-type: image/png');
    imagepng($im);
    imagedestroy($im);

}

و توی یک صفحه اون رو فراخوانی می کنم :
                require_once('WaterMark.php');
                img('Uploads/'.$thing['file']);

اما یک ارور می ده :
Warning: Cannot modify header information - headers already sent by (output started at D:\WampServer\www\dribbble\Explain.php:240) in D:\WampServer\www\dribbble\WaterMark.php on line 20
با یک سری حروف عجیب و غریب ...

توی خط 20 هم فقط نوشتم : <?php
مشکل کجاست ؟ (با without BOM هم ذخیره کردم)
پاسخ
تشکر شده توسط:
#2
چک کنید توی کدتون کارکتر اضافه نباشه. درصورت لزوم میتونید از ob_start و ob_end_flush هم استفاده کنید.
پاسخ
تشکر شده توسط: ABZiko
#3
ممنون استاد، یکی چیزی رو می خواستم بگم، وقتی من کد های فایل WaterMark.php رو همونطوری می نویسم و توی فایل دیگری اون رو توی یک تگ img نمایش می دم، هیچی مشکلی نداره و ارور هم نمی ده، پس چرا وقتی به صورت مستقیم فراخونده می شه، این اتفاق براش می افته ؟
پاسخ
تشکر شده توسط:
#4
باید دید مشکل از کجاست. شاید یکسری کارکتر داره یه جایی درج میشه. بدون دیدن کدها یا درصورت لزوم تیم ویور، نمیتونم بگم مشکل از کجاست.
پاسخ
تشکر شده توسط: ABZiko




کاربران در حال بازدید این موضوع: 2 مهمان