0
다음 스크립트는 파일을 성공적으로 업로드하고 파일을 영구 디렉토리로 이동합니다.업로드 된 파일을 임시 디렉토리에서 영구 디렉토리 내의 새로 생성 된 폴더로 이동하는 방법
상위 영구 디렉토리 내에 프로필 ID 이름으로 새 폴더를 만들면 모든 업로드 된 파일이 프로필 이름이있는 폴더 내에있을 수 있고 부모 폴더 내에 새 폴더가 만들어집니다. 폴더.
문제점 : 파일을 이동하면 새로 만든 폴더가 아닌 상위 폴더로 이동됩니다.
PHP 업로드 스크립트.
<?php
define("UPLOAD_DIR", "images/$Pid");
if (!file_exists(UPLOAD_DIR)){
mkdir(UPLOAD_DIR, 0777, true);
}
if (!empty($_FILES["imageUpload"])){
$myFile = $_FILES["imageUpload"];
if ($myFile["error"] !== UPLOAD_ERR_OK) {
echo "<p>An error occurred.</p>";
exit;
}
$name = preg_replace("/[^A-Z0-9._-]/i", "_", $myFile["name"]);
$i = 0;
$parts = pathinfo($name);
while (file_exists(UPLOAD_DIR . $name)) {
$i++;
$name = $parts["filename"] . "-" . $i . "." . $parts["extension"];
}
$success = move_uploaded_file($myFile["tmp_name"],
UPLOAD_DIR . $name);
if (!$success) {
echo "<p>Unable to save file.</p>";
exit;
} else {
$imageDir = UPLOAD_DIR .'/'. $_FILES["imageUpload"]["name"];
echo $imageDir;
}
chmod(UPLOAD_DIR . $name, 0644);
}
?>
감사합니다.
에 나는 유 ("UPLOAD_DIR", "이미지/$ PID"는 이장)이 code.define에 오류가 있다고 생각; this로 변경 ("UPLOAD_DIR", "images /".$ Pid. "/"); – Anish