Avatar ·

كيفية حفظ صورة من URL في PHP؟ الدالة لا تعمل مع بعض الصور

مرحبًا بالجميع. أنا مبتدئ في PHP وواجهت مشكلة عند حفظ الصور من عناوين URL خارجية. أكتب محللًا بسيطًا لتحميل الصور الرمزية للمستخدمين. لدي هذا الكود: ```php $url = 'https://example.com/avatar.jpg'; $image = file_get_contents($url); file_put_contents('avatars/user1.jpg', $image); ``` مع بعض المواقع يعمل هذا، لكن مع البعض الآخر لا – يُرجع ملفًا فارغًا أو خطأ. جربت طرقًا مختلفة: 1. استخدمت `copy($url, $local_path)` – أيضًا لا يعمل دائمًا. 2. حاولت عبر CURL، لكن هناك المزيد من الارتباك. 3. بعض الصور تُحفظ تالفة (لا تُفتح). أظن أن المشكلة تكمن في أن الخادم قد يحظر الطلبات المباشرة أو يتطلب رؤوس User-Agent. لاحظت أيضًا أنه إذا كان في URL أحرف سيريلية أو مسافات، فلا يعمل شيء. هذا مثال على URL لا يعمل: ``` https://site.com/фото/аватарка пользователя.jpg ``` أرشدوني، كيف يمكن حفظ الصور بشكل صحيح وموثوق في PHP؟