아파치 서버에 파일 생성

아파치 서버에 파일 생성

나는 apache2 서버에서 정말 기본적인 파일 전송 웹페이지를 만들려고 노력 중이고 성공했습니다. 그런 다음 index.php 파일을 다른 프로젝트를 순서대로 정리하기 위한 폴더로 옮겼습니다. 내 사이트가 작동 중이었을 때 다음을 사용하여 파일을 만들고 저장할 수 있는 권한을 부여했던 것을 기억합니다.

sudo chown www-data cloud_data/ (cloud_data는 파일이 저장되는 위치입니다)

그러나 모든 종속 파일 및 폴더(cloud_data 및 upload.php 등)와 함께 index.php를 새 폴더로 옮긴 후 사이트를 사용하여 파일을 생성할 수 없으며 파일 및 폴더에 다시 권한을 부여하려고 시도했습니다. 하지만 성공하지 못했습니다.

업로드.php

<?php
header ('location:index.php');
$destination_path = getenv("DOCUMENT_ROOT")."/cloud_data/"; 
$target_path = $destination_path;
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
$file_n = $_POST['uploadedfile'];
echo "Source=" .        $_FILES['uploadedfile']['name'] . "<br>"; 
echo "Destination=" .   $destination_path . "<br>"; 
echo "Target path=" .   $target_path . "<br>"; 
echo "Size=" .          $_FILES['uploadedfile']['size'] . "<br />"; 
//echo "Tmp name=" .    $_FILES['uploadedfile']['tmp_name'] . "<br />"; 


if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name'])." has been uploaded";
    $path_info = pathinfo($target_path)['extension'];
    echo "File extention: ".$path_info;
} else{
    echo "There was an error uploading the file, please try again!";
}

?>

index.php

<html>
<head>
    <title>1NV1C7U5 Cloud Server</title>
    <link rel="icon" type="image/jpg" href="/photos/AP_B.jpeg">
</head>
<body style="background-image: url('photos/back.jpg');background-repeat: no-repeat;  background-attachment: fixed;background-size: cover;">
    <center>
    <style>
    .upload-btn-wrapper {
      position: relative;
      overflow: hidden;
      display: inline-block;
    }

    .btn {

      border: 4px solid black;
      color: gray;
      background-color: white;
      padding: 8px 20px;
      border-radius: 50px;
      font-size: 20px;
      font-weight: bold;
    }

    .upload-btn-wrapper input[type=file] {
      font-size: 100px;
      position: absolute;
      left: 0;
      top: 0;
      opacity: 0;
    }
    </style>
    <style>
    .zoom {
      transition: transform 0.1s;
      margin: 0 auto;
    }

    .zoom:hover {
      transform: scale(1.2  );
    }
    </style>

    <header>
        <p style="text-align:center"><img src="/photos/cloud_cool.png" ;align="center" alt="Welcome To AgentPluton.com" width="1000"/></p>
        <p style="border: solid 4px darkblue;border-radius:10px"><h1  style="color:cyan; font-family:courire;display:inline; border: solid 6px lime;border-radius:10px"> 1NV1C7U5</h1><h1 style="color:white; font-family:cursive;display:inline; border: solid 6px lime;border-radius:10px"> Cloud Server </h1></p>
    </header>
    <form enctype="multipart/form-data" action="upload.php" method="post">
                <h1 style="color:lightblue; font-family:cursive; border: solid 3px cyan;border-radius:25px"> Select File: </h1>
           <p>
        <h2 style="color: whitesmoke;">
        <div class = "zoom">
        <div class="upload-btn-wrapper">
        <button class="btn", style="color: white; background-image: linear-gradient(to right,cyan,blue,cyan)">Select a file</button>
        <input type="file" name="uploadedfile" style="">
            </div></div>
        <br>
                <br>
        <br>
                <div class = "zoom">
        <input type="submit" name="Upload" value= "+"  style="width:125px; height:125px; background-image: linear-gradient(to right,cyan,blue,cyan); color: white; border-radius: 75px; border:4px solid #000000;font-size : 100px;"/>
                <br>Add
        </h2></div>
            </p>
        </form>
        <?php
        $del_f = $_POST["flnam"];
        unlink($del_f);
    ?>
        <?php
        $i = -1;
        echo "<table style='border-spacing: 50px;'><tr>";
        $fileList = glob('cloud_data/*');
            foreach($fileList as $filename)
        {
        $ext = pathinfo($filename)['extension'];
        $i=$i+1;
        if($i==3)
        {
            $i=0;
            echo"</tr>";
            echo"<tr>";
        }
        $pic = array("jpg","png","bmp","jpeg");
        $vid = array("mp4","webm","mkv","flv","vob","avi","m4v","mpeg");
        $aud = array("mp3","aac","aax","m4a","wav","vox","voc","wma");
        $com = array("zip","tar","gz","iso","xz");
        $adr = array("apk");
        $doc = array("pdf","doc","docx","csv","ods","txt");
        $cod = array("py","c","cpp","js","htm","html","php","jar","sh","qb","java");
        echo '<td><form action="index.php" method="post"><br><br><br><button class = "zoom" name="flnam", value="'.$filename.'", style="width: 125px;height:50px;border-radius: 50px;border: 2px solid darkblue;font-size:25px; background-image: linear-gradient(to right, white,cyan,blue) ;">DELETE</button><br><a href="'.$filename.'" style="color:white;" >';

        if(in_array($ext,$pic))
        {
            echo '<img class = "zoom" src="'.$filename.'";';
            }
        elseif(in_array($ext,$vid))
        {
            echo '<video class = "zoom" src="'.$filename.'";';
            }
        elseif(in_array($ext,$aud))
        {
            echo '<img class = "zoom" src="photos/aud.png";';
        }
        elseif(in_array($ext,$com))
        {
            echo '<img class = "zoom" src="photos/comp.png";';
        }
        elseif(in_array($ext,$adr))
        {
            echo '<img class = "zoom" src="photos/android.png";';
        }
        elseif(in_array($ext,$doc))
        {
            echo '<img class = "zoom" src="photos/doc.png";';
        }
        elseif(in_array($ext,$cod))
        {
            echo '<img class = "zoom" src="photos/cod.png";';
        }
        else
        {
                echo '<img class = "zoom" src="photos/unk.jpg";';
        }

        echo 'align="center" alt="'.$filename.'" width="312" height="312" style=" border-radius: 50px;border: 4px solid cyan;" /></a></form>';
        echo '<h3 style="color:white;text-overflow: ellipsis; width:350px; white-space: nowrap; overflow: hidden;">'.basename($filename),'</h3></td>';
        }
    echo"</table>";
        ?>
        </h1>
    </center>
    <footer style="color:white">made by "Agent Pluton"<br>email id: [email protected]</footer>
</body>
</html>

웹페이지는 이렇게 생겼어요

페이지를 정기적으로 사용하고 있으니 최대한 빨리 도와주세요.

답변1

여전히 권한 문제인 것 같습니다.

노력하다

sudo chown www-data:www-data -R /your/app/root/
sudo chmod 755 -R /your/app/root/

PHP 로그 출력과 같이 오류에 대한 추가 정보가 있으면 도움이 될 것입니다.

관련 정보