Функции Язык программирования PHP

imagecreatefromwbmp

(PHP 4 >= 4.0.1)

imagecreatefromwbmp - создаёт новое изображение из файла или URL.

Описание

resource imagecreatefromwbmp (string filename)

imagecreatefromwbmp() возвращает идентификатор изображения, полученного из данного файла filename.

imagecreatefromwbmp() возвращает пустую строку при ошибке. Также выводит сообщение об ошибке, которое отображается в браузере как разорванная ссылка. Для облегчения отладки следующий пример выведет WBMP ошибки:
Пример 1. Обработка ошибки при создании (благодарим vic@zymsys.com)
function LoadWBMP ($imgname) { $im = @imagecreatefromwbmp ($imgname); 
/* попытка открыть */ if (!$im) { /* проверить, удачно ли */ $im = imagecreate 
(20, 20); /* создать пустое изображение */ $bgc = imagecolorallocate ($im, 255, 
255, 255); $tc = imagecolorallocate ($im, 0, 0, 0); imagefilledrectangle ($im, 
0, 0, 10, 10, $bgc); /* вывести errmsg */ imagestring ($im, 1, 5, 5, "Error loading 
$imgname", $tc); } return $im; }

Примечание: поддержка WBMP доступна только в том случае, если PHP был скомпилирован с GD-1.8 или новее.


Назад Оглавление Вперёд
imagecreatefromstring Вверх imagecreatefromxbm

Безопасность файловой системы

Пример 4-3. Более безопасная проверка имени файла
<?php // Удалить файл с жёсткого диске, доступ к которому имеет 
пользователь РНР. $username = $_SERVER['REMOTE_USER']; // использование механизма 
аутентификации $homedir = "/home/$username"; $file_to_delete = basename("$userfile"); 
// вырезать пути unlink ($homedir/$file_to_delete); $fp = fopen("/home/logging/filedelete.log","+a"); 
//log удаление $logstring = "$username $homedir $file_to_delete"; fputs ($fp, 
$logstring); fclose($fp); echo "$file_to_delete has been deleted!"; ?>

Однако и здесь не без недостатков. Если ваша система аутентификации разрешает пользователям создавать свои собственные пользовательские login'ы и пользователь выберет логин "../etc/", система снова станет открытой. Исходя из этого, вам может понадобиться более специализированная проверка: