У меня есть URL-адрес, который содержит различные POST-DATA в нем И файл изображения наконец. Мой пример ссылки: http://website-link.com/?page=gf_signature&signature=565dbca63791e5.87676354.png
Синтаксическая ошибка, неожиданная «функция» на линии 12
Я хочу отделить 565dbca63791e5.87676354.png
от url и отделить расширение (.png) от него.
Я попытался это:
<?php
$images = array();
$imagesNew = array();
$imgUrls = array(
'ptSignature' => 'http://website-link.com/?page=gf_signature&signature=5668695879dc84.35037895.png',
'pSignature' => 'http://website-link.com/?page=gf_signature&signature=5668694f80aa55.79055562.png',
'witness1Signature' => 'http://website-link.com/?page=gf_signature&signature=5668695875c6e5.03917128.png',
'witness2Signature' => 'http://website-link.com/?page=gf_signature&signature=5668695879dc84.35037895.png',
)
function make_without_ext($str)
{
$regex = "/signature=(?<signature>[^&]+)/";
preg_match($regex, $str, $matches);
$signature = $matches["signature"];
$ext = substr(strrchr($signature, '.'), 1);
$without_extension = basename($signature, '.png');
return $without_extension;
}
foreach ($imgUrls as $imgUrl) {
$imgWithoutExt = make_without_ext($imgUrl);
array_push($images, $imgWithoutExt);
}
foreach ($images as $image) {
$content = file_get_contents($image);
$data = base64_encode($content);
array_push($imagesNew, $data)
}
print '<pre>';
print_r ($imagesNew);
print '<pre>';
Но это показывает syntax error, unexpected 'function' (T_FUNCTION)
Почему вы публикуете точный дубликат сообщения с другим названием? http://stackoverflow.com/questions/34235369/retriving-only-file-name-without-extension-but-function-error – Andrew