Denoncer un problème de quota et non un problème de droit
Le fait d'utiliser fputs/fwrite au détriment de file_put_content ne permet pas d'être précis sur le type de problème d'écriture rencontré. Par défaut c'est considéré comme un problème de droit.
Dans le cas d'un site ayant saturé son espace disque (par exemple serveur utilisant les quotas) aucune erreur n'est remontée. fputs retourne 0 et non false, spip dénonce ce problème comme un problème de droit.
De son coté, file_put_content fera un retour du genre : Warning: file_put_contents(): Only 0 of 20 bytes written, possibly out of free disk space in /var/www/monsite/test.php on line 68
Ce qui permet d'affiner plus rapidement le diagnostic.
Coté spip_loader, on pourrait soit rajouter un test sur le retour 0 ou bien préférer file_put_contents. Coté core, je ne sais ... On peut constater que l'usage de fputs et cie manque de précision pour certains type d'erreur. On peut améliorer le diagnostic, à voir comment.