در حال نوشتن یک سیستم آگهی هستم
می خواهم ایمیل آگهی دهندگان برای چلوگیری از جمع اوری توسط روبات ها به صورت عکس نمایش پیدا کند
لطفا راهنمایی کنید با چه کدی این کار رو کنم!!
در حال نوشتن یک سیستم آگهی هستم
می خواهم ایمیل آگهی دهندگان برای چلوگیری از جمع اوری توسط روبات ها به صورت عکس نمایش پیدا کند
لطفا راهنمایی کنید با چه کدی این کار رو کنم!!
با کتابخونه gd ! توی اولین مثال توضیح داده.
سلام و تشکر
من این کد رو استفاده کردم اما می دونید مشکلش چیه ,
<?php
// Set the content-type
header('Content-Type: image/png');
// Create the image
$im = imagecreatetruecolor(400, 30);
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>
1- با تگ مشکل داره header('Content-Type: image/png');
2- وقتی هم اون رو غیر فعال گردم نتیجه این شد
1.jpg
فونت arial.ttf رو هم ضمیمه فایل کرید؟
من هم فکر کنم مشکل از فونت باشه ! باید فونت را بگذراین کنار اسکریپت و یا آدرس مستقیم بدین. خودش نمیتونه بره از تیو سفولدر fonts کار را انجام بده !
نه مشکل از فونت نیست
چون فونت رو گذاشتم و فرقی نکرد
اصلا کد مستقیم رو قبول نمیکنه
حالا یه سوال
فکرکنیم این کدها رو تو جایی که می خواهیم اوردیم
چطور باید از اون استفاده کنیم
یعنی کدوم رو باید فراخوانی کنیم تا تصویر بیاد
سلام
کد رو فقط تو یه صفحه دادم درست نشون میده
http://starforosh.com/sample.php
ولی وقتی می خوام و صفحه ای مربوطه استفاده کنم این ارور رو میده
sasaas.jpg
همراه با اطلاعات عکس داره اطلاعات دیگه ای هم ارسال میشه که فرمت عکس را به هم میریزه ! مثلا notice یا warning میده. log را فعال کنید و ببینید مشکل از کجاست.
نشد , خیلی پس و پیش کردم
یه کد بهتر نبود برای اینکار
یا روشی که نشه کپی کرد ایمیل رو
به 2 حالت میتونید مشکلتون رو حل کنید.
1 - قبلش بافر رو خالی کنید ob_end_clean();
2 - همون کدهای بالا رو تو یک صفحه ای قرار بدید بعدش بصورت لینک ازش استفاده کنید
تو روش دوم بازم ایمیل تو مقدار queryString هست که میتونید encode کنید (base64_encode)کد HTML:<img src="http://localhost/image.php?text=success">
اینم یه روش دیگه
function makeImage($text){
ob_start();
// Create the image
$im = imagecreatetruecolor(400, 30);
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = $text;
// Replace path by your own font path
$font = 'arial.ttf';
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
$output = base64_encode(ob_get_contents());
ob_end_clean();
return $output;
}
echo 'test <br><br>';
echo '<img src="data:image/png;base64,'.makeImage('success').'">';
با همون رو ش get مشکل حل شد
ممنون