2017-01-23 77 views
0

我使用croppie插件來裁剪完美的圖像。該圖像存儲在我的文件夾中,圖像大小顯示爲零字節。它在本地主機上運行良好,但在服務器上無法正常工作。你能幫我嗎?使用php在服務器上傳後顯示零字節的圖像尺寸

<form action="process.php" id="form" method="post"> 
<div id="upload-demo"></div> 
<input type="hidden" id="imagebase64" name="imagebase64"> 
<input type="submit" name="submit" value="save" class="upload-result"> 
</form> 
    if(isset($_POST['submit'])){ 
      $data = $_POST['imagebase64']; 
      list($type, $data) = explode(';', $data); 
      list(, $data)  = explode(',', $data); 
      $data = base64_decode($data); 
      $imageName = time().'.png'; 
      file_put_contents('images/profile/'.$imageName, $data); 
      // echo $imageName; 
     } 

回答

1

這是工作文件。這可能會幫助你。

<?php 
if(isset($_POST['imagebase64'])){ 
    $data = $_POST['imagebase64']; 

    list($type, $data) = explode(';', $data); 
    list(, $data)  = explode(',', $data); 
    $data = base64_decode($data); 

    file_put_contents('image64.png', $data); 
} 
?> 
<!DOCTYPE html> 
<html lang="pt-br"> 
<head> 
<meta charset="utf-8"> 
<title>Test</title> 
<link href="croppie.css" rel="stylesheet" type="text/css"> 
<script type="text/javascript" src="jquery-1.11.3.min.js"></script> 
<script type="text/javascript" src="croppie.js"></script> 
<script type="text/javascript"> 
$(document).ready(function() { 
var $uploadCrop; 

function readFile(input) { 
    if (input.files && input.files[0]) { 
     var reader = new FileReader();   
     reader.onload = function (e) { 
      $uploadCrop.croppie('bind', { 
       url: e.target.result 
      }); 
      $('.upload-demo').addClass('ready'); 
     }   
     reader.readAsDataURL(input.files[0]); 
    } 
} 

$uploadCrop = $('#upload-demo').croppie({ 
    viewport: { 
     width: 200, 
     height: 200, 
     type: 'circle' 
    }, 
    boundary: { 
     width: 300, 
     height: 300 
    } 
}); 

$('#upload').on('change', function() { readFile(this); }); 
$('.upload-result').on('click', function (ev) { 
    $uploadCrop.croppie('result', { 
     type: 'canvas', 
     size: 'original' 
    }).then(function (resp) { 
     $('#imagebase64').val(resp); 
     $('#form').submit(); 
    }); 
}); 

}); 
</script> 
</head> 
<body> 
<form action="process.php" id="form" method="post"> 
<input type="file" id="upload" value="Choose a file"> 
<div id="upload-demo"></div> 
<input type="hidden" id="imagebase64" name="imagebase64"> 
<a href="#" class="upload-result">Send</a> 
</form> 
</body> 
</html> 
+0

感謝回答Mr.acmsohail,它正在爲me.upvote從我身邊 –

+0

@NarendraVerma隨時歡迎:) – acmsohail

相關問題