【问题标题】:php - get full image path from serverphp - 从服务器获取完整的图像路径
【发布时间】:2011-09-26 10:03:42
【问题描述】:

如何使用 html 表单中的“浏览”按钮获取服务器上的图像路径,选择文件(双击返回其完整路径的文件),然后将结果图像路径放入变量 $img_path?

假设我服务器中的图像目录是/images,我想获取“foo.jpg”的路径,完整的图像路径应该是“/images/foo.jpg”

所以,我所要做的就是: 1.创建包含“浏览”按钮或类似内容的表单-允许我在我的服务器上浏览“图像”目录 2.探索“images”目录,列出所有可点击的文件,找到“foo.jpg”,选择它,瞧,我得到了图像路径“/images/foo.jpg”

任何 lil' 帮助将不胜感激.. 谢谢


@CodeCaster 感谢您的回复.. 但这就是我想要的(至少更接近):

<?php

$dir = '/images';
if (!isset($_POST['submit'])) {
    if ($dp = opendir($dir)) {
        $files = array();
        while (($file = readdir($dp)) !== false) {
            if (!is_dir($dir . $file)) {
                $files[] = $file;
            }
        }
        closedir($dp);
    } else {
        exit('Directory not opened.');
    }
    if ($files) {
        echo '<form action="' . $_SERVER['PHP_SELF'] . '" method="post">';
        foreach ($files as $file) {
            echo '<input type="checkbox" name="files[]" value="' . $file . '" /> ' .
                 $file . '<br />';
        }
        echo '<input type="submit" name="submit" value="submit" />' .
             '</form>';
    } else {
        exit('No files found.');
    }
} else {
    if (isset($_POST['files'])) {
        foreach ($_POST['files'] as $value) {
            echo $dir . $value . '<br />';
        }
    } else {
        exit('No files selected');
    }
}

?>

【问题讨论】:

  • “浏览按钮”是什么意思 - 你的意思是&lt;input type"'file'&gt;?那些不能用来浏览服务器上的文件

标签: php image path


【解决方案1】:

使用“dir”你可以实现你的目标。

<?php
 $d = dir("/etc/php5");
 echo "Handle: " . $d->handle . "\n";
 echo "Path: " . $d->path . "\n";
 while (false !== ($entry = $d->read())) {
   echo $entry."\n";
 }
 $d->close();
?>

【讨论】:

  • 用你的代码(和@CodeCaster)我只能列出文件,我希望列出的文件是可点击的并返回完整的图像路径
  • 好吧,如果你有完整的路径,如果你对该文件夹没有任何访问限制,那么你绝对可以使用 标签并在鼠标单击时打开文件
【解决方案2】:

你可以使用dir:

echo "<ul>";

$d = dir("images");
echo "Handle: " . $d->handle . "\n";
echo "Path: " . $d->path . "\n";
while (false !== ($entry = $d->read())) {
   echo "<li><a href=\"/images/" . $entry . "\">" . $entry . "</a></li>";
}
$d->close();

echo "</ul>";

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 2014-07-30
    相关资源
    最近更新 更多