PHP从数据库位置创建嵌入图像
我搜索了Google和Stackoverflow,但没有找到答案。可能是因为我在寻找错误的问题。没有正确的问题,就很难得到正确的答案。所以我希望有人能帮助我 我已经创建了一个前20名的列表,人们可以在其中对他们最喜欢的网站进行排名(我知道这不是原创的,但我这样做是为了学习php) 网站可以添加到数据库中,并根据投票进行排序。每个网站在数据库中都有自己独特的ID、名称和位置 我想不出的是如何做到以下几点 在显示的列表旁边显示“获取代码”按钮。此按钮将为可在任何网站上显示的图像文件创建代码。例如:PHP从数据库位置创建嵌入图像,php,image,dynamic,Php,Image,Dynamic,我搜索了Google和Stackoverflow,但没有找到答案。可能是因为我在寻找错误的问题。没有正确的问题,就很难得到正确的答案。所以我希望有人能帮助我 我已经创建了一个前20名的列表,人们可以在其中对他们最喜欢的网站进行排名(我知道这不是原创的,但我这样做是为了学习php) 网站可以添加到数据库中,并根据投票进行排序。每个网站在数据库中都有自己独特的ID、名称和位置 我想不出的是如何做到以下几点 在显示的列表旁边显示“获取代码”按钮。此按钮将为可在任何网站上显示的图像文件创建代码。例如:
甚至更好
要做到这一点,我需要编写一个php代码,它可以获取id并将其转换为一个漂亮的图像文件,而我却被卡住了。我见过twitter、feedburner、Technorati和100多个其他网站这样做,但我不知道怎么做
我发现这段代码伪造了feedburner,但我不知道如何将其转化为我所需要的
<?php
//Send a generated image to the browser
create_image();
exit();
function create_image(){
//Create the image resource
$image = imagecreatefromgif('image.gif');
//Create text color
$brown = ImageColorAllocate($image, 0, 0, 0);
//Check for the get parameters
if (isset($_GET['count']) && is_numeric($_GET['count']))
$rank = $_GET['count'];
else
$rank = 20;
// Some Alignment Calculations
$bbox = imagettfbbox(8.5, 1,'verdana.ttf', $rank);
$xcorr = 0 + $bbox[2]; $xcorr = 31 - $xcorr;
//Add the number in brown color to the image
imagettftext($image,8.5,0,$xcorr,16,$brown,'verdana.ttf',$rank);
//Tell the browser what kind of file is come in
header("Content-Type: image/gif");
imagegif($image);
//Free up resources
ImageDestroy($image);}?>
基于
www.mygeekpal.com/how-to-fake-your-feedburner-subscribers/
使用上面的代码并命名为counter.php,我可以从数据库中获取位置并创建
这将从数据库中获取网站的位置($array
已用于获取),并创建一个位置为nr的图像
工作正常,但一旦根据用户评分更改帖子,图像将无法显示正确的数据
我希望有人能帮忙。多谢各位
夏季
基本上,我想做的是根据网站排名显示最新数据。就像显示twitter关注者的数量一样,例如,在
两者都是基于数据库中的信息显示数字的图像。但我想根据网站在数据库中的排名创建自己的图像。查看您的代码,每次重新加载页面时,它都会更新。清除浏览器缓存 如果这失败了,我会检查它从哪里获得Get['count']数据,我假设这是站点的排名号 您可以检查Get['Count']数据是否正在按应有的方式更新吗 我不确定在URL中使用数组是个好主意,为什么不使用会话呢?
很抱歉,我没有得到更多帮助。这是我到目前为止得到的(由于cookies不同,我无法从此计算机编辑此问题) 这是基于 多亏了 这似乎有效
<?php
//Connect to DB
$db = mysql_connect("localhst","user","pass") or die("Database Error");
mysql_select_db("db_name",$db);
//Get ID from request
$id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
//Check id is valid
if($id > 0)
{
//Query the DB
$resource = mysql_query("SELECT * FROM domains WHERE id = " . $id);
if($resource === false)
{
die("Database Error");
}
if(mysql_num_rows($resource) == 0)
{
die("No User Exists");
}
$user = mysql_fetch_assoc($resource);
}
$img_number = imagecreate(110,24);
$image = imagecreatefromgif('image.gif');
$backcolor = imagecolorallocate($img_number,254,46,212);
$textcolor = imagecolorallocate($image, 0, 0, 0);
imagefill($image,0,0,$backcolor);
$number = $user['position'];
Imagestring($image,9,26,4,$number,$textcolor);
header("Content-Type: image/gif");
imagegif($image);
ImageDestroy($image);
?>
在这种情况下应该添加,而不是从目录中随机获取图像。您可以从数据库中选择图像(如示例代码所示)Gif、Jpeg、Jpg、Png,但您将始终使用此方法输出Png作为标题(“内容类型:image/Png”);设置为PNG。感谢您的帮助。我不明白显示随机图像和这个问题有什么关系。我添加了额外的信息来澄清我的问题。再次感谢你,但我仍然认为我没有解释清楚。基本上,我想做的是根据网站排名显示最新数据。例如,就像显示twitter关注者的数量一样,或者两者都是基于数据库中的信息显示数字的图像。但是我想根据网站在数据库中的排名来创建自己的形象。