Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/246.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在jQuery PhotoStack库中为每个图像添加说明_Php_Javascript_Jquery_Ajax_Photos - Fatal编程技术网

Php 如何在jQuery PhotoStack库中为每个图像添加说明

Php 如何在jQuery PhotoStack库中为每个图像添加说明,php,javascript,jquery,ajax,photos,Php,Javascript,Jquery,Ajax,Photos,我有点问题。我用一个php文件打开文件夹中的照片 PHP代码: <?php $location = 'albums'; $album_name = $_GET['album_name']; $files = glob($location . '/' . $album_name . '/*.{jpg,gif,png}', GLOB_BRACE); $encoded = json_encode($files); echo $encoded; unset($encoded);

我有点问题。我用一个php文件打开文件夹中的照片

PHP代码:

<?php
$location   = 'albums';
$album_name = $_GET['album_name'];
$files      = glob($location . '/' . $album_name . '/*.{jpg,gif,png}', GLOB_BRACE);
$encoded    = json_encode($files);
echo $encoded;
unset($encoded);

index.html中的

在HTML中添加一个描述容器:(您可以根据需要在这个div上添加样式,只有其中的文本会更改)

加载每个图像时添加以下内容:

$('<img />').load(function(){
  var $image = $(this);

  //added for descriptions
  var description = data['descriptions'][$image.attr('src').match(/[^\/]+$/)];
  $image.attr('title', description);
这是在浏览图像时出现的

...
var $new_current = $current.prev();

// modified for descriptions
$('#descriptions').text($new_current.attr('title'));
photostack.php中的

添加
$descriptions
数组。您可以通过在数据库中调用来替换此选项:(您可以省略相册和/或照片上的描述。)

更改ajax调用的返回,如下所示:

// modified for descriptions
$desc = isset($descriptions[$_GET['album_name']]) ? $descriptions[$_GET['album_name']] : array();
$data = array('imgs' => $files, 'descriptions' => $desc);
$encoded = json_encode($data);
你完了


您可以在此处看到演示:

如果你懒得自己做修改,你可以下载修改后的版本。
希望这有帮助。

创建一个
div
span
并用csscan按您喜欢的方式定位。您也有帮助吗?
$('<img />').load(function(){
  var $image = $(this);

  //added for descriptions
  var description = data['descriptions'][$image.attr('src').match(/[^\/]+$/)];
  $image.attr('title', description);
if(cnt == items_count){
   ...
   $ps_overlay.show();
   // modified for descriptions
   $('#descriptions').text($image.attr('title'));
}
...
var $new_current = $current.prev();

// modified for descriptions
$('#descriptions').text($new_current.attr('title'));
// added for descriptions
$descriptions = array(
    'album1' => array(
        '1.jpg' => 'desc1 desc1 desc1 desc1 desc1 desc1 desc1 desc1 desc1 desc1 ',
        '3.jpg' => 'desc3 desc3 desc3 desc3 desc3 desc3 desc3 ',
    ),
    'album2' => array(
        '2668815346_93d641966e.jpg' => 'smiling',
        ...
    ),
    ...
);
// modified for descriptions
$desc = isset($descriptions[$_GET['album_name']]) ? $descriptions[$_GET['album_name']] : array();
$data = array('imgs' => $files, 'descriptions' => $desc);
$encoded = json_encode($data);