Die Funktion von ImageBmp () wird verwendet, um ein Bild im BMP -Format zu speichern. Die grundlegende Verwendung ist wie folgt:
bool imagebmp ( resource $image [, string $filename ] )
$ Bild : Erforderlich. Bildressourcen, normalerweise Bildressourcen, die von der ImagecreateFrom*() -Funktion erzeugt werden.
$ Dateiname : Optional. Speichern Sie den Dateinamen (mit Pfad) des Bildes. Wenn dieser Parameter weggelassen wird, wird das Bild an den Browser ausgegeben, anstatt als Datei gespeichert zu werden.
Wenn Sie diese Funktion verwenden, um ein Bild zu speichern, stoßen Sie häufig auf ein gemeinsames Problem: Die gespeicherte Datei kann nicht korrekt gelesen werden oder die Bilddatei wird im erwarteten Format nicht gespeichert. Zu diesem Zeitpunkt liegt das Problem häufig in der Dateierweiterung.
Die ImageBmp () -Funktion selbst ist eine sehr einfache Funktion. Sie speichert das Bild nur gemäß dem von Ihnen angegebenen Dateinamen. Wenn Ihr Dateiname .BMP als Erweiterung verwendet, jedoch feststellt, dass das gespeicherte Bild nicht korrekt angezeigt oder geöffnet werden kann, kann es durch die folgenden Probleme verursacht werden:
Dateierweiterungen stimmen nicht übereinstimmend inhaltlich : Dateierweiterungen sind nur Teil des Dateinamens und bestimmen nicht direkt das Format des Dateiinhalts. In einigen Fällen kann das gespeicherte Dateiformat im Standard -BMP -Format eine Ungleichheit sein, wenn der Dateiname .bmp ist, wenn die Funktion imageBmp () nicht korrekt ausgeführt wird.
Pfadausgabe : Wenn der Dateipfad illegale Zeichen oder Pfadberechtigungsprobleme enthält, kann er auch dazu führen, dass die Bilddatei erfolgreich gespeichert wird.
Ausgabe von Dateiberechtigungen : Das Verzeichnis, in dem die Datei gespeichert wird, hat möglicherweise keine Schreibberechtigungen, wodurch PHP nicht an diesem Ort Dateien erstellt wird.
Überprüfen Sie zunächst den von Ihnen angegebenen Dateipfad und Dateinamen, um sicherzustellen, dass der Dateipfad gültig ist und dass die Dateierweiterung tatsächlich .bmp ist. Zum Beispiel:
$image = imagecreate(100, 100); // Erstellen a 100x100 Bilder
$filename = 'path/to/image.bmp';
if (imagebmp($image, $filename)) {
echo "Bild erfolgreich speichern!";
} else {
echo "Bildsparen fehlgeschlagen!";
}
Stellen Sie sicher, dass die Variable $ Dateiname einen gültigen Pfad und eine .bmp -Erweiterung enthält. Ohne die .BMP -Erweiterung erkennen ImageBmp () das Dateiformat nicht, was zu einem fehlgeschlagenen Speichern führt.
Stellen Sie vor dem Aufrufen der Funktion von ImageBmp () fest, ob die Bildressource erfolgreich erstellt wird. Wenn die Bildressource leer ist, kann die Funktion den Speichervorgang nicht ausführen. Die Gültigkeitsprüfung der Bildressourcen kann vor dem Speichern durchgeführt werden:
if (!$image) {
die("Bilderstellung ist fehlgeschlagen!");
}
Stellen Sie sicher, dass Ihr Zielverzeichnis Schreibberechtigungen enthält. Wenn Sie keine Schreibberechtigungen haben, kann PHP die Datei nicht auf dem angegebenen Speicherort speichern. Sie können Verzeichnisberechtigungen über die Befehlszeile ändern (als Beispiel ein Linux -System):
chmod 777 path/to/directory
Oder verwenden Sie PHP -Code, um zu überprüfen, ob das Zielverzeichnis beschreibbar ist:
if (!is_writable('path/to/directory')) {
die("Das Zielverzeichnis ist nicht beschreibbar!");
}
Manchmal können relative Pfade dazu führen, dass das Speichern von Dateien fehlschlägt. Versuchen Sie, absolute Pfade zu verwenden, um dies zu vermeiden. Der absolute Pfad ist klarer, wodurch Fehler auf die Pfadauflösung reduziert werden können:
$filename = '/absolute/path/to/image.bmp';
Stellen Sie sicher, dass sich die gespeicherte Datei tatsächlich im BMP -Format befindet. Sie können einige Online -Tools oder Image -Anzeige -Tools verwenden, um das Dateiformat zu überprüfen. Wenn Sie vermuten, dass das Dateiformat falsch ist, können Sie versuchen, mit dem Dateityp -Überprüfungs -Tool zu bestätigen:
$image_info = getimagesize($filename);
if ($image_info['mime'] !== 'image/bmp') {
die("Die gespeicherte Datei ist nicht BMP Format!");
}