2016-06-07 21 views
0

我正在使用Laravel。我正在嘗試使用Imgix排版端點將生物圖像的職員生物展現出來。當我單獨使用排版端點時,我會得到正確的格式化文本。但是,當我編碼base64然後附加到生物圖像uri,圖像看起來很好,但沒有文字覆蓋。有誰知道我做錯了什麼?爲什麼不使用Imgix排版端點正確覆蓋

下面是函數

public function bioEncode($bio, $align) { 

    $bioNoSpaces = str_replace(' ', '+', $bio); 

    $bioTextUrl = base64_encode("http://newsong.imgix.net/~text?txt=" . $bioNoSpaces . "&txtclr=fff&txtsize=20&w=800&txtpad=20&txtfont=avenir-black&txtalign=center"); 

    if($align == 0) { 

     $newUrl = "http://newsong.imgix.net/staffProfile/cameron-profile-desktop.jpg?fit=crop&crop=top&w=1220&h=500&mark64=" . $bioTextUrl . "&markalign=left,middle&markpad=0"; 

     return $newUrl; 

    } else { 

     $newUrl = "http://newsong.imgix.net/staffProfile/cameron-profile-desktop.jpg?fit=crop&crop=top&w=1220&h=500&mark64=" . $bioTextUrl . "&markalign=right,middle&markpad=0"; 

     return $newUrl; 

    } 

} 

這裏是我打電話的功能

srcset="{{$staff->bioEncode($staff->staff_bio, $staff->desktop_img_text_side)}}" 

這是我在我的瀏覽器中呈現的網址: http://newsong.imgix.net/staffProfile/cameron-profile-desktop.jpg?fit=crop&crop=top&w=1220&h=500&mark64=aHR0cDovL25ld3NvbmcuaW1naXgubmV0L350ZXh0P3R4dD1DYW1lcm9uK0tpbmcraXMrdGhlK2xlYWQrcGFzdG9yK29mK05ld3NvbmcrQ2h1cmNoLitQYXN0b3IrQ2FtZXJvbitob2xkcythK2JhY2hlbG9y4oCZcytkZWdyZWUraW4rY2h1cmNoK21pbmlzdHJpZXMrd2l0aCthK2NvbmNlbnRyYXRpb24raW4rcHJlYWNoaW5nK2Zyb20rU291dGhlYXN0ZXJuK1VuaXZlcnNpdHkrYW5kK2ErTWFzdGVy4oCZcytkZWdyZWUraW4rZ2VuZXJhbCt0aGVvbG9neStmcm9tK0NvbHVtYmlhK0ludGVybmF0aW9uYWwrU2VtaW5hcnkuK0hlK2FuZCtoaXMrd2lmZSwrUmFjaGVsLCtsaXZlK2luK3RoZStNb25yb2UrYXJlYSt3aXRoK3RoZWlyK2ZvdXIrZGF1Z2h0ZXJzLCtBYmJ5LCtBbGVuYSwrTWFkZGllK0dyYWNlLCthbmQrRWxpYW5hLitIZStpcythbHNvK2Erc3VjY2Vzc2Z1bCtyZWFsK2VzdGF0ZStpbnZlc3RvciwrYW5kK3RoZSthdXRob3Irb2Yr4oCcK1RoZStrZXkrdG8reW91citjaHVyY2jigJlzK3Zpc2lvbjordGhlK3ByYWN0aWNhbCtndWlkZSt0bytwcmF5aW5nK2Zvcit5b3VyK3Bhc3Rvci7igJ0rUGFzdG9yK0NhbWVyb27igJlzK3Zpc2lvbitpcyt0bytzZWUrTmV3U29uZytDaHVyY2grdG8rYmUrYStjZW50ZXIrb2YrcmV2aXZhbCtvbit0aGUrRWFzdHNpZGUrb2YrQXRsYW50YS4mdHh0Y2xyPWZmZiZ0eHRzaXplPTIwJnc9ODAwJnR4dHBhZD0yMCZ0eHRmb250PWF2ZW5pci1ibGFjayZ0eHRhbGlnbj1jZW50ZXI=&markalign=left,middle&markpad=0

進入這個時候

進入Imgix沙盒:https://sandbox.imgix.com/create 此網址的作品。我編碼並解碼了base64字符串,似乎沒有錯。

我還是新來的Php,所以任何幫助都非常感謝。

回答

0

在朋友的幫助下。我解決了這個問題。在base64_encode()之後,尾隨的等號讓我感到困惑。這解決了問題:

$bioTextUrl = strtr(base64_encode("http://newsong.imgix.net/~text?txt=" . $bioNoSpaces . "&txtclr=fff&txtsize=20&w=800&txtpad=20&txtfont=avenir-black&txtalign=center"), '=', '+'); 
相關問題