2015-12-12 6 views
-1

У меня есть 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)

+2

Почему вы публикуете точный дубликат сообщения с другим названием? http://stackoverflow.com/questions/34235369/retriving-only-file-name-without-extension-but-function-error – Andrew

ответ

1

У Вас есть недостающая точка с запятой после:

$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', 
       ) 

Положив точку с запятой будет решить эту проблему в вопросе.

Смежные вопросы