Вставка картинки в поле blob
Не получается вставить картинку в поле blob. Я пробую так:
$database = "******";
$user = "*****";
$ps = "***";
$dbh = ibase_connect($database, $user, $ps, 'utf8') or die(json_encode(array('message' => 'not connection', 'successed' => false)));
$file = $_FILES['img']['tmp_name'];
$file_contents = file_get_contents($file);
$blob = blob_create($file_contents);
// дальше просто виснет
define('MAX_SEGMENT_SIZE', 65535);
function blob_create($data) {
if (strlen($data) == 0)
return false;
$handle = ibase_blob_create();
$len = strlen($data);
for ($pos = 0; $pos < $len; $pos += MAX_SEGMENT_SIZE) {
// следующая строка 772
$buflen = ($pos + MAX_SEGMENT_SIZE > $len) ? ($len - $pos) : MAX_SEGMENT_SIZE;
$buf = substr($data, $pos, $buflen);
ibase_blob_add($handle, $buf);
}
return ibase_blob_close($handle);
}
В результате я получаю сообщение:
Fatal error: Maximum execution time of 30 seconds exceeded in /home/kommunal/kommunalnik.in.ua/www/query.php on line 772
Ставил вместо 30 секунд больше (5 минут) - не памагает.
Пробовал еще так:
$database = "******";
$user = "*****";
$ps = "***";
$dbh = ibase_connect($database, $user, $ps, 'utf8') or die(json_encode(array('message' => 'not connection', 'successed' => false)));
$file = $_FILES['img']['tmp_name'];
$fd = fopen($file, 'r');
$result = "";
if ($fd) {
$blob = ibase_blob_import($dbh, $fd);
fclose($fd);
if (!is_string($blob)) {
$result = "import failed";
} else {
// $result = $blob;
$query = "insert into file (name, content, file_type,resource_name, identifier) values ( ?, ?, ?, ?, ?);";
$prepared = ibase_prepare($dbh, $query);
if (!ibase_execute($prepared, "123", $blob, "png",'INCOMING_MAIL',"123")) {
$result = "record insertion failed.Err: " . ibase_errmsg();
} else {
$result = "success";
}
}
} else {
$result = "unable to open the data file";
}
Результат:
record insertion failed.Err:''