2017-06-27 13 views
0

私はbase64を初めて使っています。私はそれを変換する必要がないので、ここで何が起こっているのか分かりません。私は$socialmedia_imageに私のbase64文字列を持っています。 randでランダムなファイル名を作成します。スタックされた機能にはプラグインしていません。それはmove_uploaded_fileで変換または転送されず、誰がエラーをチェックするかわかりません。base64イメージをjpgに変換してからサーバーにアップロードしない

私が間違っていることを誰かに教えてもらえますか?

///// base64 string ///// 
$socialmedia_image = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUg....."; 

$rand = rand(000000000000000,999999999999999); 
$output_file = $rand.".jpg"; 

$socialmedia_image = base64_to_jpeg($socialmedia_image, $output_file); 

function base64_to_jpeg($base64_string, $output_file) { 
    $ifp = fopen($output_file, 'w'); 
    $data = explode(',', $base64_string); 
    fwrite($ifp, base64_decode($data[ 1 ])); 
    fclose($ifp); 
    return $output_file; 
} 
move_uploaded_file($socialmedia_image, "../tickets/attachments/".$output_file); 
+0

move_uploaded_file()は、リクエストの一部としてアップロードされたファイルを移動します。あなたの例ではそうではありませんが、あなたはファイルをアップロードしませんでした。代わりに、あなたが作成したファイルを単に移動したいと思っていれば、そのために 'rename()'関数を使うことができます。 – arkascha

+0

それでは、私が働くことができる 'base64_to_jpeg'関数は何ですか? –

+0

あなた自身が投稿したコードを見てください!明らかに、作成するように指示したファイルの名前が返されます。 。実際に指示されたとおりにそのファイルを作成したかどうかは別のものです。たとえば、ファイルシステムのアクセス許可に依存します。そのファイルが作成されている場合は、ファイルシステムをチェックインします。そうでない場合は、httpサーバのエラーログファイルでエラーメッセージが間違っていないかどうかを確認してください。 – arkascha

答えて

-1

どうですか?

file_put_contents($output_file, $data); 
関連する問題