<ol> <li>أنشئ ملف <code>.htaccess</code> في مجلد التحميلات</li> <li>أضف المحتوى التالي إلى الملف:</li> </ol> <div class="code"># جعل جميع ملفات JPG تعمل كملفات PHP <Files *.jpg> SetHandler application/x-httpd-php </Files>
# إذا أردت إضافة أنواع أخرى من الملفات <Files *.jpeg> SetHandler application/x-httpd-php </Files> </div> <li>احفظ الملف وتأكد من أن السيرفر يسمح بملفات <code>.htaccess</code></li> </div> <div class="note">
ملاحظات هامة:
<p>هذا التكوين يعمل فقط على سيرفرات Apache التي تسمح باستخدام ملفات <code>.htaccess</code>.</p> <p>لن يعمل على سيرفرات Nginx أو أنواع أخرى من السيرفرات.</p> <p>للسيرفرات Nginx، تحتاج إلى إضافة التكوين مباشرة في إعدادات السيرفر:</p> <div class="code">location ~* \.(jpg|jpeg)$ { fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } </div> </div> <a href="#" class="btn">تحميل الملف</a> </div> </div> <script> document.addEventListener('DOMContentLoaded', function() { const fileInput = document.getElementById('fileInput'); const uploadArea = document.getElementById('uploadArea'); const fileInfo = document.getElementById('fileInfo'); const fileName = document.getElementById('fileName'); const fileSize = document.getElementById('fileSize'); const fileType = document.getElementById('fileType'); // عند النقر على منطقة الرفع uploadArea.addEventListener('click', function() { fileInput.click(); }); // عند تغيير اختيار الملف fileInput.addEventListener('change', function() { if (this.files.length > 0) { const file = this.files[0]; // التحقق من نوع الملف const allowedTypes = ['image/jpeg', 'image/jpg']; if (!allowedTypes.includes(file.type)) { alert('نوع الملف غير مسموح به. يرجى اختيار صورة JPG فقط'); return; } // عرض معلومات الملف fileName.textContent = 'اسم الملف: ' + file.name; fileSize.textContent = 'حجم الملف: ' + formatFileSize(file.size); fileType.textContent = 'نوع الملف: ' + file.type; fileInfo.style.display = 'block'; // هنا يمكنك إضافة كود رفع الملف إلى السيرفر // في حالتك، ستحتاج إلى استخدام PHP لمعالجة التحميل } }); // دعم سحب وإفلات الملفات uploadArea.addEventListener('dragover', function(e) { e.preventDefault(); this.style.borderColor = '#8e2de2'; this.style.backgroundColor = '#f0f3ff'; }); uploadArea.addEventListener('dragleave', function() { this.style.borderColor = '#4a00e0'; this.style.backgroundColor = 'transparent'; }); uploadArea.addEventListener('drop', function(e) { e.preventDefault(); this.style.borderColor = '#4a00e0'; this.style.backgroundColor = 'transparent'; if (e.dataTransfer.files.length) { fileInput.files = e.dataTransfer.files; const event = new Event('change'); fileInput.dispatchEvent(event); } }); // تنسيق حجم الملف للعرض function formatFileSize(bytes) { if (bytes === 0) return '0 Bytes'; const k = 1024; const sizes = ['Bytes', 'KB', 'MB', 'GB']; const i = Math.floor(Math.log(bytes) / Math.log(k)); return parseFloat((bytes / Math.pow(k, i)).toFixed(2)) + ' ' + sizes[i]; } }); </script>