2010-12-02 3 views
0

아래의 양식에 파일을 제출하면 사용자 PC에서 파일 소스 경로를 얻는 방법.브라우저를 사용하여 이미지를 브라우저에 직접 표시

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

예 경로는 파일 : /// 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); 
?> 

감사!

답변

1

당신은 알 수 없습니다,하지만 당신은 시도 할 듯대로 브라우저로 다시 업로드 된 파일을 보낼 수 있습니다

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

는 PHP 매뉴얼 장을 참조하십시오 " 파일 업로드 처리 중 ":

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

2

PHP는 서버 기반 언어이므로 클라이언트 컴퓨터에서 Path의 매개 변수를 전달할 수 없습니다. 코드는 클라이언트와 해당 하드 드라이브에 대한 액세스 또는 지식없이 서버에서 실행됩니다.

이 경우 더 나은 옵션은 이미지를 표시하기 위해 페이지에서 JavaScript 또는 Flash를 사용하는 것입니다. 사용자는 이미지를 제출하고 실제로 서버에 업로드하기 전에 이미지를 검토 할 수 있습니다. 자바 스크립트 버전 여기 예를 들어

확인 : 로컬 컴퓨터 파일 시스템에 스크립트의 접근이 해가 될 수 있으므로 코드가 사이트에 보안 조치에 의해 차단 될 수 있습니다 http://teck.in/javascript-to-preview-local-image.html

참고. 파일이 안정적으로 자신의 컴퓨터에 어디에서 왔는지

관련 문제