나는 사용자가 파일을 업로드하게하고 중복 및 기타 위험을 피하기 위해 한 필드에 원래 파일 이름의 이름을 저장하고 다른 하나는 파일의 이름을 바꾼 이름을 저장합니다. 그래서 내가 그들을 다운로드하게 할 때, 나는 그것들을 원래의 이름으로 다운로드 할 수 있기를 원하지만 우리 서버에 그것의 이름을 바꾼 버전을 사용하고 싶습니다.어떻게 두 개의 파일 이름을 가질 수 있으며 둘 중 하나를 사용하여 파일을 제공 할 수 있습니까?
샘플 :
$ 원본이 = 사용자가
$가 이름을 바꾼 파일을 지정한 이름 = 우리가
header('Content-type: application/octet-stream'); // concatenation
header("Content-disposition: attachment; filename=$original"); // double quotes
$filename="../../../../docs/doc/$renamed";
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
header('Content-Length: ' . filesize($filename));
ob_clean();
flush();
readfile($renamed); // no quotes needed
내가이 일을하려고 파일을하는 듯했으나 이름은 원래 이름이기 때문에 데이터베이스에 저장되고 실제 파일 이름은 이름이 바뀐 이름입니다. 어떻게이 작업을 수행 할 수 있습니까?
두 이름을 모두 데이터베이스에 저장하십시오. 머리글에 원래 이름을 보내고 이름이 변경된 이름을 디스크에서 읽습니다. –