Curl verwendet eine externe Bibliothek und hat viel mehr Möglichkeiten, die Anfrage anzupassen - benutzerdefinierte Header, POST-Anfrage erstellen, Dateien hochladen. Alles, was du brauchst, muss ich sagen.
Fopen ist beschränkt, um nur eine GET-Anfrage der URL ohne weitere Anpassung zu machen.
Wie für die Sicherheit CURL wird nicht durch die Sicherheitskonfiguration in PHP (wie verbotene fopen von Remote-URLs und solche) beeinflusst.
Die beiden Möglichkeiten geben Ihnen Daten zurück, die Sie in jeder möglichen Weise verwenden können. Wenn Sie eine Sicherheitslücke in Ihrem Projekt machen, ist nach dem Abrufen der Daten doch Ihr Fehler.
Auch ich bin mir nicht ganz sicher, aber ich denke, dass Fopen nicht mit SSL (https) Verbindungen umgehen kann.
Sowohl fopen als auch CURL unterstützen SSL (wie von Andy Shellam in einem Kommentar unten angemerkt).
Die Frage ist nicht so sehr, was 'fopen' tun kann, sondern was die HTTP/HTTPS-Stream-Wrapper tun können. Überprüfen Sie http://de.php.net/manual/en/wrappers.http.php – Gordon