php - получить полный путь к изображению с сервера - PullRequest
0 голосов
/ 26 сентября 2011

как я могу получить путь к изображению на сервере, используя кнопку "Обзор" в HTML-форме, выбрать файл (дважды щелкнув по файлу, возвращающему его полный путь), и поместить путь к полученному изображению в переменную $ img_path?

скажем, на моем сервере каталог изображений - / images, я хотел бы получить путь к «foo.jpg», полный путь к изображению должен быть «/images/foo.jpg"

, поэтомувсе, что мне нужно сделать, это: 1. создать форму, содержащую кнопку «Обзор» или что-то в этом роде, - что позволяет мне исследовать каталог «images» на моем сервере 2. исследовать каталог «images», все файлы перечислены и кликабельны, найти »foo.jpg ", выберите его и вуаля, я получаю путь к изображению" /images/foo.jpg"

любая помощь будет приветствоваться .. Спасибо


@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');
    }
}

?>

Ответы [ 2 ]

0 голосов
/ 26 сентября 2011

с помощью «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();
?>
0 голосов
/ 26 сентября 2011

Вы можете использовать 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>";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...