In PHP wird die ImageFontwidth () -Funktion verwendet, um die Zeichenbreite der integrierten Schriftart zu erhalten. Die Syntax ist sehr einfach:
int imagefontwidth ( int $font )
Der Parameter $ -Krafter ist die Schriftzahl, und der Wertebereich beträgt normalerweise 1 bis 5, was integrierte Schriftarten unterschiedlicher Größen und Stile darstellt. Wenn die eingehende Schriftnummer diesen Bereich überschreitet, gibt die ImageFontwidth () -Funktion falsch zurück und verursacht eine Ausnahme oder eine abnormale Anzeige des Programms.
Dies liegt normalerweise daran, dass keine gültige Überprüfung durchgeführt wird, wenn die Parameter übergeben werden oder die Schriftnummer von Benutzereingaben oder externen Daten erfolgt und nicht überprüft wird. Der Bereich der integrierten Schriftzahlen für PHP ist begrenzt. Sobald dieser Bereich überschritten ist, kann die Funktion nicht den richtigen Breitenwert zurückgeben.
Sie können zunächst feststellen, ob die eingehende Schriftnummer zwischen 1 und 5 liegt. Wenn sie überschritten wird, wird die Standardschriftnummer angegeben oder eine Fehlermeldung zurückgegeben.
Beispielcode:
function safeImageFontWidth($font) {
// Der gültige Bereich der integrierten Schriftzahlen ist1~5
if ($font < 1 || $font > 5) {
// Wählen Sie die Standardschrift hier aus1
$font = 1;
}
return imagefontwidth($font);
}
// prüfen
$font = 7; // Schriftzahlen außerhalb des Bereichs
$width = safeImageFontWidth($font);
echo "Die Schriftbreite ist: " . $width;
Dies vermeidet ImageFontwidth () -Stehl durch eingehende illegale Schriftzahlen.
Obwohl ImageFontwidth () keine Ausnahme auswirft, können Sie eine Funktion, die diesen Fehler spezifisch behandelt, zusammenfassen und zum Anrufer zurückgibt.
function getFontWidth($font) {
if ($font < 1 || $font > 5) {
throw new InvalidArgumentException("Schriftnummer {$font} Außerhalb der Reichweite,Muss in1ankommen5zwischen。");
}
return imagefontwidth($font);
}
try {
$fontWidth = getFontWidth(10);
echo "Schriftbreite: {$fontWidth}";
} catch (InvalidArgumentException $e) {
echo "Fehler: " . $e->getMessage();
}
Dies ermöglicht ein klareres Handling und Debuggen von Schriftstellungsfehlern.
Für mehr Flexibilität kann eine Liste der zulässigen Schriftzahlen definiert werden, und das Programm filtert automatisch oder ersetzt.
$validFonts = [1, 2, 3, 4, 5];
function getValidFont($font, $validFonts) {
if (!in_array($font, $validFonts)) {
// Verwenden Sie Standardschriften
return $validFonts[0];
}
return $font;
}
$font = 8;
$font = getValidFont($font, $validFonts);
$width = imagefontwidth($font);
echo "Die Schriftbreite ist: {$width}";
Auf diese Weise kann das Programm automatisch angepasst werden, um eine normale Ausführung zu gewährleisten, selbst wenn die Schriftnummer illegal ist.
Die Schriftnummer der ImageFontwidth () muss zwischen 1 und 5 liegen, andernfalls gibt die Funktion false zurück.
Überprüfen Sie vor dem Gebrauch die Rechtmäßigkeit der Schriftzahlen, um nicht außerhalb der Reichweite zu sein.
Standardmäßig Werte, Ausnahmebehandlung oder Mapping-Arrays, können Probleme, die durch außerhalb des Bereichs verursacht werden, effektiv vermieden werden.
Eine angemessene Verarbeitung von Schriftzahlen kann die Genauigkeit der Berechnung der Bildschriftgröße sicherstellen und Programmausnahmen vermeiden.