我是php的新手,我已经为图片库下载了免费的源代码。它有管理员帐户,您可以上传图像。现在,当我上传图像时,它会生成随机图像标题,如数字'4849404'。我希望它为每个图像分配一个特定的标题。我怎样才能做到这一点?如果我没有弄错的话,我想这里是图像标题的行:
$RandomNumber = rand(0, 9999999999); // We need same random name for both files.
// some information about image we need later.
$ImageName = strtolower($_FILES['ImageFile']['name']);
$ImageSize = $_FILES['ImageFile']['size'];
$TempSrc = $_FILES['ImageFile']['tmp_name'];
$ImageType = $_FILES['ImageFile']['type'];
$process = true;
//Validate file + create image from uploaded file.
switch(strtolower($ImageType))
{
case 'image/png':
$CreatedImage = imagecreatefrompng($_FILES['ImageFile']['tmp_name']);
break;
case 'image/gif':
$CreatedImage = imagecreatefromgif($_FILES['ImageFile']['tmp_name']);
break;
case 'image/jpeg':
$CreatedImage = imagecreatefromjpeg($_FILES['ImageFile']['tmp_name']);
break;
default:
die('Unsupported File!'); //output error
}
//get Image Size
list($CurWidth,$CurHeight)=getimagesize($TempSrc);
//get file extension, this will be added after random name
$ImageExt = substr($ImageName, strrpos($ImageName, '.'));
$ImageExt = str_replace('.','',$ImageExt);
$BigImageMaxWidth = $CurWidth;
$BigImageMaxHeight = $CurHeight;
//Set the Destination Image path with Random Name
$thumb_DestRandImageName = $Thumb.$RandomNumber.'.'.$ImageExt; //Thumb name
$DestRandImageName = $DestinationDirectory.$RandomNumber.'.'.$ImageExt; //Name for Big Image
//Resize image to our Specified Size by calling our resizeImage function.
if(resizeImage($CurWidth,$CurHeight,$BigImageMaxWidth,$BigImageMaxHeight,$DestRandImageName,$CreatedImage))
{
//Create Thumbnail for the Image
resizeImage($CurWidth,$CurHeight,$ThumbMaxWidth,$ThumbMaxHeight,$thumb_DestRandImageName,$CreatedImage);
//respond with our images
echo '<table width="100%" border="0" cellpadding="4" cellspacing="0">
<tr><td align="center"><img src="gallery/'.$RandomNumber.'.'.$ImageExt.'" alt="Resized Image"></td></tr></table>';
}else{
die('Resize Error'); //output error
}
}
答案 0 :(得分:0)
在以下行中添加标题的随机数:
$DestRandImageName = $DestinationDirectory.$RandomNumber.'.'.$ImageExt;
和
$DestRandImageName = $DestinationDirectory.$RandomNumber.'.'.$ImageExt;
如果说$ RandomNumber你可以添加在这里设置名称的功能,例如将上面的代码放入一个方法并传递一个设置名称的变量,或者你可以从以下变量中检索现有的图像名称:
$ImageName
答案 1 :(得分:0)
您发布的代码段似乎正在创建并命名缩略图,我们可以从注释和变量名称中注意到:
//Set the Destination Image path with Random Name
$thumb_DestRandImageName = $Thumb.$RandomNumber.'.'.$ImageExt; //Thumb name
并通过以下几行确认:
//Create Thumbnail for the Image
resizeImage($CurWidth,$CurHeight,$ThumbMaxWidth,$ThumbMaxHeight,$thumb_DestRandImageName,$CreatedImage);
了解$_FILES
数组 - name
,type
,size
,tmp_name
和error
的内容,以了解可用的详细信息。例如。在上面的代码段中,
$ImageName = strtolower($_FILES['ImageFile']['name']);
获取小写的原始文件名(因为strtolower
),我们可以根据需要使用它们,例如使用它,或者在为主名称添加一些随机字符串之后。此外,您可能已经注意到,文件扩展名也必须单独管理。
最后,如果您要重命名最初上传的文件(可能使用move_uploaded_file
),请仔细查看代码并以类似的方式进行测试。
答案 2 :(得分:0)
$ thumb_DestRandImageName = $ Thumb。$ RandomNumber。'。'。$ ImageExt; //拇指名称 $ DestRandImageName = $ DestinationDirectory。$ RandomNumber。'。'。$ ImageExt;
这一行是您可以添加特定标题的地方。 $ RandomNumber = “标题”;