1
저는 file_upload.php와 upload.php로 구성된 파일 업로드 프로그램을 PHP에서 만들고자합니다. 문제는 사용자가 로그인하여 파일을 업로드 한 후 파일 대신 배열 또는 파일 경로가 표시되는 것입니다.파일이 PHP 디렉토리에 업로드되지 않습니다.
mkdir($full_path, 0700);
echo($full_path, 0700);
그러나 대신 다음 밖으로 인쇄 것 :
/home/ajhausdorf/uploading//Argentina.docx/home/ajhausdorf을 선은 아래의 다음 페이지에 파일을 에코 디렉토리 경로를 만들어야합니다 /uploading//Argentina.docxnouploaded/tmp/phpcLfB0Y
경로가 아닌 디렉터리에서 파일을 표시하려면 어떻게해야합니까?
file_upload.php
<?php
session_start();
$username = $_SESSION['username'];
echo $_SESSION['username'];
?>
<?php
// view the files uploaded to the user's directory
$user_path = sprintf("/home/ajhausdorf/uploading/%s", $userName);
$files=scandir($user_path);
?>
<?php
session_start();
// Get the filename and make sure it is valid
$filename = basename($_FILES['uploadedfile']['name']);
if(!preg_match('/^[\w_\.\-]+$/', $filename)){
echo "Invalid filename";
exit();
}
// Get the username and make sure it is valid
$username = $_SESSION['username'];
if(!preg_match('/^[\w_\-]+$/', $username)){
echo "Invalid username";
exit();
}
$full_path = sprintf("/home/ajhausdorf/uploading/%s/%s", $username, $filename);
$dir = sprintf("/home/ajhausdorf/uploading/%s", $username);
$user_path = sprintf("/home/ajhausdorf/uploading/%s", $userName);
$view = scandir($user_path, 1);
mkdir($full_path);
echo ($full_path);
if (file_exists($dir)) {
mkdir($full_path, 0700);
move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $full_path);
} else {
mkdir($full_path, 0700);
echo($full_path);
move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $full_path);
echo "no";
}
if(file_exists($_FILES['uploadedfile']['tmp_name']) || is_uploaded_file($_FILES['uploadedfile']['tmp_name'])) {
echo "uploaded";
}
echo $_FILES['uploadedfile']['tmp_name'];
print_r($view);
?>