将照片填充到html div的php脚本
我目前有一个大约250 jpeg的图片页面。Images和我目前有一个网页,我手动将图片分配给页面上的某个部分,但是这非常耗时,并且希望创建一个脚本,将图像运行并分配给div。虽然这通常很容易,但我的问题是他们归档图像的方式。在网页上,我有一个四边形绘图,四边形的每个部分都需要分配一个图像。图像文件名各不相同,这让我头疼: 文件格式如下所示。因此,每个四元组将有4个图像,下划线前的第一组数字是pict id,下划线之间的数字是pict指向四元组的哪个部分。但是pict id的长度各不相同,我不知道该怎么做。如有任何想法或建议,我们将不胜感激将照片填充到html div的php脚本,php,Php,我目前有一个大约250 jpeg的图片页面。Images和我目前有一个网页,我手动将图片分配给页面上的某个部分,但是这非常耗时,并且希望创建一个脚本,将图像运行并分配给div。虽然这通常很容易,但我的问题是他们归档图像的方式。在网页上,我有一个四边形绘图,四边形的每个部分都需要分配一个图像。图像文件名各不相同,这让我头疼: 文件格式如下所示。因此,每个四元组将有4个图像,下划线前的第一组数字是pict id,下划线之间的数字是pict指向四元组的哪个部分。但是pict id的长度各不相同,我不知
- 1234_1_01.jpeg
- 1234_2_03.jpeg
- 1234_3_02.jpeg
- 1234_4_01.jpeg
- 345422_1_01.jpeg
- 345422_2_02.jpeg等
$myPicFolder = "path/to/pictures/";
$thePics = array();
if (is_dir($myPicFolder)) {
if ($dh = opendir($myPicFolder)) {
while (($file = readdir($dh)) !== false)) {
if(!is_dir($myPicFolder . $file){
list($intersectionID,$section,$imgID) = explode('_'.$file);//Seperates the parts of the name for easier access
//check if the ID is already a key in $thePics
if(!array_key_exists($intersectionID,$thePics)){
//Add the new ID if it does not exist with an empty array.
$thePics[$intersectionID]=array();
}
if(!array_key_exists($section,$thePics[$intersectionID])){
//Add the new ID if it does not exist with an empty array.
$thePics[$intersectionID][$section]=array();
}
// Add a new part to the ID since each picture ID has 4 pictures.
$thePics[$intersectionID][$section][] = $file;
}
}
closedir($dh);
}
}
//$thePics will then look like:
// array('1234'=>array(
// '1'=>'1234_1_01.jpeg',
// '2'=>'1234_2_03.jpeg',
// '3'=>'1234_3_02.jpeg',
// '4'=>'1234_4_01.jpeg'),
// '345422'=>array(
// '1'=>'345422_1_01.jpeg',
// '2'=>'345422_2_02.jpeg')
// );
//Cycle through the pictures...
foreach($thePics as $pictureID=>$quad){
echo '<div class="intersection">';
foreach($quad as $quadPart=>$pictures){
echo '<div class=”s1”>';
foreach($pictures as $pictureSRC){
echo '<img src="'.$pictureSRC.'"/>';
}
echo '</div>';
}
echo '</div>';
}
$myPicFolder=“path/to/pictures/”;
$thePics=array();
if(is_dir($myPicFolder)){
如果($dh=opendir($myPicFolder)){
while(($file=readdir($dh))!==false)){
如果(!is_dir($myPicFolder.$file){
list($intersectionID,$section,$imgID)=分解('.'$file);//分隔名称的各个部分以便于访问
//检查ID是否已经是$thePics中的密钥
如果(!array_key_存在($intersectionID,$thePics)){
//如果不存在空数组,请添加新ID。
$thePics[$intersectionID]=array();
}
如果(!array_key_)存在($section,$thePics[$intersectionID])){
//如果不存在空数组,请添加新ID。
$thePics[$intersectionID][$section]=array();
}
//将新部件添加到ID,因为每个图片ID有4张图片。
$thePics[$intersectionID][$section][]=$file;
}
}
closedir($dh);
}
}
//$thePics将看起来像:
//数组('1234'=>数组(
//'1'=>'1234_1_01.jpeg',
//'2'=>'1234_2_03.jpeg',
//'3'=>'1234_3_02.jpeg',
//“4”=>“1234_4_01.jpeg”),
//“345422”=>数组(
//'1'=>'345422_1_01.jpeg',
//'2'=>'345422_2_02.jpeg')
// );
//循环浏览图片。。。
foreach($pictureID=>$quad的价格){
回声';
foreach($quad作为$quadPart=>$pictures){
回声';
foreach($pictures为$pictureSRC){
回声';
}
回声';
}
回声';
}
请记住对文件的性质做更多的验证,以确保您只发送图片…可能测试文件扩展名和mime类型
编辑:添加了一些注释,并使用list()为我使用的变量提供了明确的名称,以便更好地理解。
您如何知道显示了哪些图像?是某个文件夹中的所有图像吗?您是否可以发布一篇带有示例HTML的文章,其中显示了其中一个“四边形绘图”?preg\u match('/^(\d+)\u(\ d+)\ud+).jpg$/)
用于快速/肮脏地捕获文件名中的3个数字集。不幸的是,我无法共享实际的四元组,但对于一个心理图像,只要想想一个步枪瞄准镜,当你看它时,你会看到一个圆圈和一个带有4个部分的十字。所有照片都在一个文件夹中。下面是我开始的一个小示例代码。这只是调用了t图像文件夹。如果(!is_dir($myPictFolder.$file)我一直收到一个错误。很抱歉,我也是新手。请您解释一下这部分代码的实际用途。如果(!array_key_存在($nameParts[0],$thePics))$thePics[$nameParts[0]]=array();$thePics[$nameParts[0]][$nameParts[1],我将感谢您的帮助=$file;错误是什么?如果它说$myPictFolder未定义,那是因为您放了一个“t”在pict…但是复制/粘贴不应该引发错误…至于第二个问题,我在答案中添加了解释。好的,现在如果你调整图片的路径,HTML标记适合你的图片,它将100%工作。感谢你的帮助和评论,但我仍然得到这个错误:解析错误:语法错误,意外'{在C:\wamp\www\co\subco\photo\u code\test.php的第19行,这是指代码的这一部分:if(!is\u dir($myPicFolder.$file){
<?php
$test = '1234_1_01.jpeg';
list($pict_id, $quad_id) = explode('_', $test);
echo "Pict ID: $pict_id<br />
Quad ID: $quad_id";