Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.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 从Dropbox目录中提取并显示网站库中的图像_Php_Jquery_Dropbox - Fatal编程技术网

Php 从Dropbox目录中提取并显示网站库中的图像

Php 从Dropbox目录中提取并显示网站库中的图像,php,jquery,dropbox,Php,Jquery,Dropbox,我正在与一位摄影师客户合作创建一个简单的网站,我希望建立一个从Dropbox文件夹中提取的照片库,因此每当她想更新库中的图像时,她只需将照片从Dropbox文件夹中交换出来。很简单,对吧 有没有一种方法可以使用jQuery或PHP从Dropbox目录中提取图像并将其显示在网页上?我已经成功地从Dropbox上的文本文件中提取了文本,但我不知道对于目录中的图像是否也可以这样做 我做了一些谷歌搜索,但我不断得到结果,教我如何上传和下载图片到Dropbox目录——这不是我想要的。我不久前也做过类似的事

我正在与一位摄影师客户合作创建一个简单的网站,我希望建立一个从Dropbox文件夹中提取的照片库,因此每当她想更新库中的图像时,她只需将照片从Dropbox文件夹中交换出来。很简单,对吧

有没有一种方法可以使用jQuery或PHP从Dropbox目录中提取图像并将其显示在网页上?我已经成功地从Dropbox上的文本文件中提取了文本,但我不知道对于目录中的图像是否也可以这样做


我做了一些谷歌搜索,但我不断得到结果,教我如何上传和下载图片到Dropbox目录——这不是我想要的。

我不久前也做过类似的事情。所以,是的,这是可能的。您可以搜索“没有数据库的php库”。您只需指定Dropbox的images目录的路径,并使其可通过web访问即可

你需要学习Dropbox的工作原理吗?简言之,它将本地目录(比如摄影师电脑上的“C:/Dropbox/gallery/”)与Dropbox服务器同步。在此之后,安装并使用摄影师帐户登录的Dropbox的每一个其他实例都将获得并将“C:/Dropbox/Gallery/”的任何更改应用于其自己的副本(例如,在web服务器上的“/var/www/Dropbox/Gallery”)

因此,首先需要在web服务器()上安装Dropbox。有问题吗?如果是,你需要找到另一种方法。如果没有,您可以只编写一个简单的函数/类,它将扫描已服务的web目录(如/var/www/Dropbox/gallery)中的图像,并生成一个可通过web访问的图像路径

最简单的例子:

<?php
$images = glob("/var/www/Dropbox/gallery/*.*");
for ($i=0; $i<count($files)-1; $i++)
{
    $img = $images[$i];
    echo '<img src="/'.$img.'" alt="random image" />";
}
?>

这真的很简单。下面是来自 遵循此链接,您将找到解决问题的简单方法(包括演示)

/**设置**/
$images_dir='';
$thumbs_dir='';
$thumbs_width=200;
$images\u/行=3;
/**生成照片库**/
$image\u files=获取文件($images\u dir);
如果(计数($image_文件)){
$index=0;
foreach($index=>$file形式的图像文件){
$index++;
$thumbnail\u image=$thumbs\u dir.$file;
如果(!file_存在($thumbnail_image)){
$extension=get_file_extension($thumbnail_image);
如果($延期){
制作拇指($images\u dir.$file、$thumbnail\u image、$thumbs\u width);
}
}
回声';
如果($index%$images_per_row==0){echo';}
}
回声';
}
否则{
echo“此库中没有图像。

”; }
您也可以尝试使用


Michael

我想我为像我这样的初学者找到了一个很好的解决方案。Drop box对您可以使用它做什么有很大的限制。但是,您可以通过FTP客户端同步FTP文件夹和子目录。我使用开源WINSCP。我让它在后台运行。它不断扫描ftp和dropbox文件夹进行同步。如果一个文件从一个文件夹中消失,它也会从另一个文件夹中消失。因此,您可以使用dropbox编辑图库中的照片,并使用上面的javascript创建一个很棒的灯箱。可能还有其他解决方案,但我发现这非常简单。此外,如果您担心空间问题,您可以简单地检索文件并将其从dropbox中删除。我知道这是一年前发布的,但我花了一整天的时间试图搞乱dropbox核心api,不幸的是,这让我不知所措。

这对dropbox不太管用,但确实让我找到了解决方案。谢谢,艾希礼。@Jon你想告诉我们你找到了什么解决方案,让其他在这个问题上遇到障碍的人可以学习吗?Jon,你评论了艾希礼的答案,说你找到了一个解决方案,你愿意发布你的解决方案吗?如果我没记错的话,我认为是一个解决方案的东西最终并没有起作用。我已将问题标记为未回答。好的,谢谢您的回复!
/** settings **/
$images_dir = '<path-to-your-dropbox>';
$thumbs_dir = '<path-to-your-generated thumbnails>';
$thumbs_width = 200;
$images_per_row = 3;

/** generate photo gallery **/
$image_files = get_files($images_dir);
if(count($image_files)) {
  $index = 0;
  foreach($image_files as $index=>$file) {
    $index++;
    $thumbnail_image = $thumbs_dir.$file;
    if(!file_exists($thumbnail_image)) {
      $extension = get_file_extension($thumbnail_image);
      if($extension) {
        make_thumb($images_dir.$file,$thumbnail_image,$thumbs_width);
      }
    }
    echo '<a href="',$images_dir.$file,'" class="photo-link smoothbox" rel="gallery"><img src="',$thumbnail_image,'" /></a>';
    if($index % $images_per_row == 0) { echo '<div class="clear"></div>'; }
  }
  echo '<div class="clear"></div>';
}
else {
  echo '<p>There are no images in this gallery.</p>';
}