php脚本将照片填充到html div

时间:2013-01-14 14:29:35

标签: php

我目前有一个约250个jpeg的图片页面。图像和我目前有一个网页,我手动将图片分配到页面上的一个部分,但这非常耗时,并且想要创建一个将贯穿的脚本并将图像分配给div。虽然这通常很容易,但我的问题是他们提交图像的方式。在网页上我有一个四边形绘图,四边形的每个部分都需要一个分配给它的图像。图像文件名称各不相同,令我头疼:

文件格式Ex如下。所以每个四边形将有4个图像,下划线之前的第一组数字是pict id,下划线之间的数字是pict的四边形的哪个部分。但是图片的长度各不相同,我不知道该怎么做。任何想法或建议都表示赞赏。

  • 1234_1_01.jpeg
  • 1234_2_03.jpeg
  • 1234_3_02.jpeg
  • 1234_4_01.jpeg
  • 345422_1_01.jpeg
  • 345422_2_02.jpeg等

2 个答案:

答案 0 :(得分:2)

最好的办法是浏览整个文件夹并相应地过滤图片:

$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>';
}

请记得对文件性质进行更多验证,以确保您只发送图片...也许测试文件扩展名和mime类型......

编辑:添加了一些注释并使用list()为我正在使用的变量提供明确的名称,以便更好地理解。

答案 1 :(得分:0)

<?php

$test = '1234_1_01.jpeg';
list($pict_id, $quad_id) = explode('_', $test);
echo "Pict ID: $pict_id<br />
      Quad ID: $quad_id";