2

画像のアップロードをbase64に変換していますが、サーバーに画像を保存する必要がないようにしようとしています 残念ながら、このコードはファイルをサーバーに保存します エンコードした後にファイルを削除する方法がありますbase64?

これが私のコードです..

    if(isset($_FILES['t1']['name'])){
    $file = rand(0, 10000000).$_FILES['t1']['name'];
    if (move_uploaded_file($_FILES['t1']['tmp_name'], $file)) {
        if($fp = fopen($file,"rb", 0))
        {
           $picture = fread($fp,filesize($file));
           fclose($fp);
           // base64 encode the binary data, then break it
           // into chunks according to RFC 2045 semantics
           $base64 = base64_encode($picture);
           $tag1 = '<img src="data:image/png;base64,'.$base64.'" alt="" />';
           $css = 'url(data:image/png;base64,'.str_replace("\n", "", $base64).'); ';
        }
    }
}
4

3 に答える 3

4

http://us3.php.net/manual/en/function.unlink.phpを使用

それで

....
$css = 'url(data:image/png;base64,'.str_replace("\n", "", $base64).'); ';
unlink($file);
于 2012-11-30T15:15:49.630 に答える
0
if(isset($_FILES['t1']['name'])){
    $file = rand(0, 10000000).$_FILES['t1']['name'];
    if (move_uploaded_file($_FILES['t1']['tmp_name'], $file)) {
           $fileCon = file_get_contents($file) ;
           // base64 encode the binary data, then break it
           // into chunks according to RFC 2045 semantics
           $base64 = base64_encode($fileCon);
           $tag1 = '<img src="data:image/png;base64,'.$base64.'" alt="" />';
           $css = 'url(data:image/png;base64,'.str_replace("\n", "", $base64).'); ';
           unlink($file);
    }

一時ファイルからファイルを移動しない場合は自動が削除されます。移動する場合はリンクを解除できます

幸運を

于 2012-11-30T15:17:53.033 に答える
0

通常のファイルと同じように$_FILES['t1']['tmp_name']を使用できます。

したがって、これを実行できるはずです。

if(isset($_FILES['t1']['name'])){
    $file = $_FILES['t1']['tmp_name'];
    if($fp = fopen($file,"rb", 0))
    {
        $picture = fread($fp,filesize($file));
        fclose($fp);
        // base64 encode the binary data, then break it
        // into chunks according to RFC 2045 semantics
        $base64 = base64_encode($picture);
        $tag1 = '<img src="data:image/png;base64,'.$base64.'" alt="" />';
        $css = 'url(data:image/png;base64,'.str_replace("\n", "", $base64).'); ';
    }
}

それが良くない場合は、@ cryptoicのソリューションを使用して、ファイルのlink()を解除するだけです。

于 2012-11-30T15:17:54.827 に答える