我正在建造一个小画廊,里面只有20张左右的图片。我希望将这些数据存储在某个地方(即使在PHP文件本身中),因此我正在研究将数据编码为文字或资源文件的方法。
在JavaScript中,我会使用符号(来自内存):
var albums = [
{ name='Album 1', photos=['photo1.jpg', 'photo2.jpg'] },
{ name='Album 2', photos=['photo3.jpg', 'photo4.jpg'] }
]
这实际上是JSON。
我认为JavaScript比PHP更具动态性,所以这是不可能的。是否有一个简单的替代方案,可能使用XML并绑定到某些类?
我是一个完整的PHP新手,所以请不要对你的答案有所了解。
答案 0 :(得分:1)
如果您想要存储在PHP文件中的某些常量数据,则可以使用与Javascript中相同的操作:只需声明一个PHP数组。
这样的事情可以解决问题:
$albums = array(
array(
'name' => "Album 1",
'photos' => array('photo1.jpg', 'photo2.jpg'),
),
array(
'name' => "Album 2",
'photos' => array('photo3.jpg', 'photo4.jpg'),
),
);
然后,您可以使用$albums
数组。
当然,它不是容易更新,你必须编写一些有效的PHP代码 - 但如果你只有几个图像,就像你说的那样,它应该不难管理。 / p>
另一种解决方案是将数据存储在外部文件(例如XML或JSON)中,并使用simplexml_load_file
或json_decode
之类的内容来读取它。
但这意味着更多的工作 - 所以在你的情况下可能没那么必要吗?
答案 1 :(得分:1)
将数据保存在单独的json文件中,并使用PHP的json_decode()函数将其解析为PHP对象。
使用这种方法,如果你决定朝着那个方向前进,你也可以通过AJAX轻松访问JavaScript中的数据。
这种方式比在PHP文件中存储数据更容易,这也意味着如果需要,您可以以编程方式更新数据。
答案 2 :(得分:1)
在PHP中,您可能会将其定义为数组,即
$albums = array(
0 => array('name' => 'Album 1', 'photos' => array('photo1.jpg', 'photo2.jpg')),
1 => array('name' => 'Album 2', 'photos' => array('photo3.jpg', 'photo4.jpg'))
);
答案 3 :(得分:1)
您可以在PHP中执行完全相同的操作:
$albums = array(
array(
'name' => 'Album 1',
'photos' => array(
'photo1.jpg',
'photo2.jpg',
)
),
array(
'name' => 'Album 2',
'photos' => array(
'photo3.jpg',
'photo4.jpg',
)
)
);
但这是糟糕的风格。您可能想要创建一个类:
class Album {
protected $name;
protected $files;
public function __construct($name) {
$this->name = $name;
}
public function addFile($file) {
$this->files[] = $file;
}
public function getFiles() {
return $this->files;
}
}
$album1 = new Album('Album1');
$album1->addFile('photo1.jpg');
$album1->addFile('photo2.jpg');
$album2 = new Album('Album2');
$album2->addFile('photo3.jpg');
$album2->addFile('photo4.jpg');
$albums = array($album1, $album2);
答案 4 :(得分:0)
var_export和json_encode是可能的。
file_put_contents($path_to_file, json_encode($albums));
答案 5 :(得分:0)
有多种可能性
答案 6 :(得分:0)