2016-03-01 77 views
1

我有一個函數,可以用PHP寫服務器文件夾上的圖像。我遵循這個鏈接Can't save a HTML5 Canvas as Image on a server指示,我的問題是,我想顯示圖像保存時的成功消息。在我的代碼上,它只是在寫入映像失敗時才顯示消息。這裏是我的功能:如何在php上寫文件後顯示消息成功?

$loc = $_POST['lokasi']; 
    define('UPLOAD_DIR', $loc); 
$filename = $_POST['nama-file']; 
$img = $_POST['img']; 
$img = str_replace('data:image/png;base64,', '', $img); 
$img = str_replace(' ', '+', $img); 
$data = base64_decode($img); 
$file = UPLOAD_DIR ; 
$success = file_put_contents($file, $data); 
print $success ? $file : 'Unable to save the file.'; 

感謝您的迴應。 :)

+0

是否文件成功上傳? $ loc是可訪問和可寫的嗎? – Raptor

+0

是的,文件上傳成功,但沒有顯示成功消息? –

+0

它是安全的嗎?當用戶可以直接在服務器文件夾上寫入圖像? –

回答

0
$loc = $_POST['lokasi']; 
define('UPLOAD_DIR', $loc); 
$filename = $_POST['nama-file']; 
$img = $_POST['img']; 
$img = str_replace('data:image/png;base64,', '', $img); 
$img = str_replace(' ', '+', $img); 
$data = base64_decode($img); 
$file = UPLOAD_DIR ;  
if (file_put_contents($file, $data)) { 
    echo "Image saved"; 
} else { 
    echo "Unable to save the file."; 
} 

注意:使用文件上傳它能夠更好地使用move_uploaded_file

+0

我嘗試修改它,並與JavaScript結合如下所示:if(file_put_contents($ file,$ data)){ echo''; } else { echo「無法保存文件。」; }但爲什麼仍然沒有警報?是因爲我在yii組件上編碼? –

+0

但是,您是否收到「無法保存文件」消息?因爲腳本看起來很好..我測試過它正常工作 –

+0

不,我得到反饋「圖像保存」的消息,但我必須看到它與螢火蟲。當我不使用螢火蟲,我從來沒有得到任何消息。是因爲我用過嗎? –