Отображение изображения в браузере напрямую с ПК с использованием PHP - PullRequest
0 голосов
/ 02 декабря 2010

Как получить исходный путь к файлу с ПК пользователя, когда они отправляют свой файл в форму, как показано ниже.

<form action="" method="post" enctype="multipart/form-data">
    <input type="file" name="image"> 
    <input type="submit" name="submit" value="Submit">
</form>

Пример желаемого пути: file: /// C: /Users/hafizul/Downloads/myimage.png

Итак, я могу отобразить изображение пользователя, используя код ниже:

<?php
$path = 'file:///C:/Users/hafizul/Downloads/myimage.png';
header('Content-Type:image/png');
echo file_get_contents($path,FILE_USE_INCLUDE_PATH);
?>

Спасибо!

Ответы [ 2 ]

2 голосов
/ 02 декабря 2010

Поскольку PHP является серверным языком, вы не можете передавать ему параметры Path на клиентском компьютере: код выполняется на сервере без доступа или знания клиента и его жесткого диска.

Лучшим вариантом в этом случае является использование JavaScript или Flash на вашей странице для отображения изображения, пользователь может просмотреть его перед отправкой и фактически загрузить его на сервер.

Проверьте здесь, например, версию JavaScript: http://teck.in/javascript-to-preview-local-image.html

Обратите внимание, что ваш код может быть заблокирован мерами безопасности на сайте, поскольку доступ сценария к файловой системе локального компьютера может быть вредным.

1 голос
/ 02 декабря 2010

Вы не будете знать, откуда файл надежно поступил на их компьютер, но вы можете отправить загруженный файл обратно в браузер, как вы, похоже, пытались:

header("Content-type: image/png");
readfile($_FILES['file']['tmp_name']);

Обратитесь к главе руководства PHP«Обработка загрузки файлов»:

http://php.net/manual/en/features.file-upload.php

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...