Das es auch nie einer mal erklärt, warum etwas so ist wie es ist. Gerade diesen "\"" kram sieht man so oft und keiner erklärt es. Dann mach ich das mal ....
Also Orions Lösung ist richtig bzw. funktioniert (Richtig gibt es ja eh nicht). Sie vermischt aber eigentlich unnötig zwei verschiedene Lösungsmethoden.
In PHP gibt es neben dem " ( Anführungs Zeichen) auch das ' (Hochkomma) um einen String zu kennzeichnen. Unterscheiden tut die beiden Methoden eine Grundlegende Sache. In die " Zeichen springt PHP rein und sucht nach Variablen und anderem Steuerzeichen kram was ersetzt werden muss (z.B. auch son \r\n Gedrisse). Bei Hochkommas (') macht er das grundsätzlich nicht. (Daher werden diese auch schneller verarbeitet, weil er gar nicht erst sucht).
Mit dem " würde es so aussehen: PHP-Code:
fwrite($fp, "\$bild = \"$img\"; ");
Die Anführungszeichen um die URL müssen escaped werden sowie das $ Zeichen der ersten variable ($bild). Die zweite ($img) allerdings nicht, den diese soll ja verarbeitet werden. Mit dem ' würde es so aussehen: PHP-Code:
fwrite($fp, '$bild = "' . $img . '"; ');
Hier kann man auf "escapen" verzichten, da der String ja gar nicht erst nach Variablen durchsucht wird. Allerdings muss man dann auch den String zwischendrin aufbrechen um den Inhalt der Variable einzufügen. Dafür läuft diese Zeile aber 2-3 mal schneller als die andere (grober Erfahrungswert). Fazit:
Hat PHP in einem String keine Variablen oder Steuerzeichen zu bearbeiten, dann lassen wir ihn gar nicht erst nach etwas suchen und nehmen daher die ' Zeichen für diesen String. Hat er etwas zu ersetzen wie z.B. eine Variable, dann nehmen wir die ". Gerade in Schleifen sollte so etwas beachtet werden.
Eventuell konnte ich da ja mal etwas Klarheit vermitteln. Hab versucht mich extra ultra einfach auszudrücken. ( ... und hoffentlich keinen Fehler drin)
Gruß Gagget