PHP se METTRE du corps de la requête

Je suis actuellement à l'élaboration d'un cadre Reposant Json API en PHP. Je veux envoyer une Demande à items/:id pour mettre à jour un enregistrement. Les données seront transférées au application/json.

Je tiens à appeler l'API avec

curl -H "Content-Type: application/json" -X PUT -d '{"example" : "data"}' "http://localhost/items/someid"

Sur le côté serveur, je ne suis pas en mesure de récupérer le corps de la requête. J'ai essayé

file_get_contents("php://input");

mais cela renvoie une chaîne vide. Aussi un fopen()/fread() combinaison ne fonctionne pas.

Lors de l'appel par la POSTE, tout fonctionne très bien, je peux lire le json parfaitement sur le côté serveur. Mais l'API n'est pas Reposante plus. Quelqu'un aurait-il une solution pour cela? Est-il une autre façon d'envoyer et de recevoir Json?

btw, je suis le développement de l'API avec les Slim Cadre.

Avez-vous essayé fopen("php://input", "r")?
Oui, ne fonctionne pas.
Génial que vous utilisez slim. J'espère que vous avez de bonnes expériences. J'ai vraiment apprécié mon SLIM api restful création
commentaire dans le manuel suggère que vous pourriez avoir besoin pour envoyer le Contenu de l'en-tête de Longueur (pas sûr si cURL fera automatiquement...) et l'utilisation fopen, plutôt que de file_get_contents. Aucune idée de la façon exacte qui soit, mais il pourrait être intéressant de tenter...
curl n'envoyer le Contenu de l'en-tête de Longueur, et également lors de l'envoi manuellement, rien ne change. Aussi fopen ne fonctionne pas.

OriginalL'auteur aladin | 2012-03-13