2017-10-29 5 views
1

pdfからjpgへの変換イメージファイルをローカルディレクトリから変数に保存するにはどうしたらいいですか? phpでファイルをアップロードするときに$ _FILESのような詳細を与える関数はありますか?pdfからimagickに変換したイメージを変数に保存するには

$target_dir="$media_dir/"; 
$target_file= $target_dir . basename($_FILES["file"]["name"]); 

move_uploaded_file($_FILES['file']['tmp_name'], $target_file); 
$image= new imagick(); 
$image->readImage($target_file); 
$image->setImageFormat('jpg'); 

$imgname= basename($target_file,".pdf"); 

//converting pdf to jpg image and saving in local directory 

foreach($imagick as $i=>$imagick) 
{ 
    $image->writeImage($target_dir . $imgname . ($i+1) ." of ". ".jpg"); 
} 

$image->clear(); 
+0

申し訳ありませんが、タイトルに変数の保存について質問すると、私は本当の質問に混乱していますか?または、変換後にpdfを変数に保存しますか?または、保存した変数のファイルの詳細を取得しますか?または上記のいずれかの混合物?あなたが実際に試したことが失敗したこと、そしてあなたが探している実際の結果についてもう少し明確にしてください。 – IncredibleHat

+0

今すぐpdfイメージをjpgに変換し、ローカルディレクトリに保存します。変換後の変換後のjpg画像のコピーを変数に保存する必要があります。実際には変換されたjpgイメージをデータベースにも挿入したいと思っています。 – tomtom

+0

fopen/fread/fclose関数を使用すると、実際に保存されていたデータを引き出すことができます。次に、あなたが望む方法で使用するために変数に完全なバイナリがあります。 – IncredibleHat

答えて

0

これはで開始することが役に立つことができ:ますfile_put_contentsを(writeImageは、フレーク状可能)を使用する代わりにしようと、ファイルを保存するための

次に、THAT変換されたイメージ(ループから)を変数に使用してデータベースに保存すると、保存/消去が完了した後に、完全なBLOBを配列に取得できます。あなたは、画像のトンを持っている、と彼らが大きい場合

$imageblobs = array(); 
foreach(...) { 
    file_put_contents($target_dir . $imgname . ($i+1) .'_of_'. $page .'.jpg', $image); 
    // $image is the Imagick object for the image you are saving 

    $imageblobs[] = $image->getImageBlob(); 
    // OR you can skip putting it into an array, and just save direct to db right here 
} 

// now you can use each 'blob' variable you setup before you cleared it 
foreach($imageblobs as $imageblob) { 
    // save $imageblob to db blob column 
    // or do other things with it 
} 

注、これはPHPのメモリを食べることができるので、あなたは、オーバーランを防ぐために、いくつかのチェックを持っていることを確認してください。

関連する問題