04-04-26, 03:18 AM
[*]shell_exec مستحيل تفعّلها على الاستضافة المشتركة
[*]الحل الأفضل cURL
[*]الكود اللي عطيتك إياه يغنيك عن wget بالكامل
[*]الحل الأفضل cURL
[*]الكود اللي عطيتك إياه يغنيك عن wget بالكامل
PHP كود :
<?php
session_start();
require('login.php');
if (!isset($_SESSION['username'])) {
die("يجب تسجيل الدخول");
}
?>
<!DOCTYPE html>
<html>
<head>
<title>تحميل ملف</title>
<style>
input[type=text], select {
width: 100%;
padding: 12px;
margin: 8px 0;
border: 1px solid #ccc;
border-radius: 4px;
text-align: center;
}
input[type=submit] {
width: 100%;
background-color: #4CAF50;
color: white;
padding: 14px;
border: none;
border-radius: 4px;
}
body {
background-image: url("http://akveo.com/blur-admin/assets/img/blur-bg-blurred.jpg");
}
</style>
</head>
<body>
<div style="width:50%;margin:auto;">
<center>
<a href="logout.php">تسجيل خروج</a>
<hr>
<h2>تحميل ملف جديد</h2>
<form method="post">
<input required type="text" name="link" placeholder="الرابط المباشر"><br>
<input required type="text" name="dir" placeholder="المجلد (مثال: uploads/)"><br>
<input type="submit" name="download" value="ابدأ التحميل">
</form>
<hr>
<?php
if (isset($_POST['download'])) {
$link = trim($_POST['link']);
$dir = trim($_POST['dir']);
// ✅ التحقق من الرابط
if (!filter_var($link, FILTER_VALIDATE_URL)) {
die("❌ رابط غير صالح");
}
// ✅ حماية المسار (منع الخروج خارج الموقع)
if (strpos($dir, "..") !== false) {
die("❌ مسار غير مسموح");
}
// ✅ إنشاء المجلد إذا غير موجود
if (!is_dir($dir)) {
mkdir($dir, 0755, true);
}
// ✅ بدء cURL
$ch = curl_init($link);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HEADER => true,
CURLOPT_NOBODY => false,
CURLOPT_TIMEOUT => 300,
]);
$response = curl_exec($ch);
if (curl_errno($ch)) {
die("❌ خطأ: " . curl_error($ch));
}
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$headers = substr($response, 0, $header_size);
$body = substr($response, $header_size);
// ✅ محاولة استخراج اسم الملف من الهيدر
$filename = "";
if (preg_match('/Content-Disposition:.*filename=["\']?([^"\']+)/i', $headers, $matches)) {
$filename = $matches[1];
}
// إذا لم يتم العثور عليه
if (!$filename) {
$filename = basename(parse_url($link, PHP_URL_PATH));
}
// إذا فاضي
if (!$filename || strlen($filename) < 3) {
$filename = "file_" . time();
}
$filepath = rtrim($dir, "/") . "/" . $filename;
// ✅ حفظ الملف
if (file_put_contents($filepath, $body)) {
echo "✅ تم التحميل بنجاح<br>";
echo "? المسار: " . $filepath;
} else {
echo "❌ فشل حفظ الملف";
}
curl_close($ch);
}
?>
</center>
</div>
</body>
</html>


![[صورة مرفقة: 177461173141861.gif]](https://up6.cc/2026/03/177461173141861.gif)