2016-03-01 43 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

不,我得到反馈“图像保存”的消息,但我必须看到它与萤火虫。当我不使用萤火虫,我从来没有得到任何消息。是因为我用过吗? –