【发布时间】:2015-07-07 09:45:34
【问题描述】:
我在数据库中的一个字段中有四个名为逗号分隔的文件,例如file1,file2,file3,file4。它可能会根据上传的文件而改变。用户最多可以上传 4 个文件,最少 1 个文件。但我无法得到它。我用了explode,但是用的时间太长了。
我正在使用此代码:
$imagefiles = $row["imagefiles"];
$cutjobs = explode(",", $imagefiles);
$cutjobs1 = count($cutjobs);
$image1 = $cutjobs[0];
$image2 = $cutjobs[1];
$image3 = $cutjobs[2];
$image4 = $cutjobs[3];
if (empty($image1)) {
$imagefiles1 = "";
} else {
$imagefiles1 = 'http://projects.santabantathegreat.com/glassicam/uploads/'.$registerid.
"/".$viewjobsid.
"/".$image1;
}
if (empty($image2)) {
$imagefiles2 = "";
} else {
$imagefiles2 = 'http://projects.santabantathegreat.com/glassicam/uploads/'.$registerid.
"/".$viewjobsid.
"/".$image2;
}
if (empty($image3)) {
$imagefiles3 = "";
} else {
$imagefiles3 = 'http://projects.santabantathegreat.com/glassicam/uploads/'.$registerid.
"/".$viewjobsid.
"/".$image3;
}
if (empty($image4)) {
$imagefiles4 = "";
} else {
$imagefiles4 = 'http://projects.santabantathegreat.com/glassicam/uploads/'.$registerid.
"/".$viewjobsid.
"/".$image4;
}
}
$data[] = array( 'imagearray' => array($imagefiles, $imagefiles1, $imagefiles2, $imagefiles3));
}
echo json_encode($data);
}
我得到这样的输出:
[{"imagearray":["http:\/\/projects.santabantathegreat.com\/glassicam\/uploads\/60\/30\/file1.jpg","http:\/\/projects.santabantathegreat.com\/glassicam\/uploads\/60\/30\/file2.jpg",""]}]
如果您看到此 imageArray 最后一个正在获取“”,这意味着 file1、file2、file3、file4 中的一些名称丢失了,所以我想显示是否有任何文件名不存在意味着我不想用“”显示空值
我有一个包含 file1、file2、file3、file4 的字段,所以有时我们会有 file1、file3,然后剩下的不会在那里,所以我想计算用逗号分隔的文件名,如果 file1 存在,应该打印如果 file3 是没有那么它不应该显示为“”
【问题讨论】:
-
你为什么不用explode?span>
-
我是 php 新手,除了爆炸还有什么方法可以使用
-
尽管它可能在您的控制范围内,也可能不在您的控制范围内,但这是一个糟糕的数据库设计。每当您在单个数据库列中组合多个项目时,您都会遇到拆分它的问题。更好的设计是让表包含文件名并连接回主表。
标签: php database php-5.3 php-5.2