0

我正在创作一件艺术品,我一直在互联网上搜索和梳理以寻求帮助,确实有很多,但我真的不明白。

大约一个月前,我开始研究 html 和 CSS,并被迫在大约 2 周内为这篇文章学习点点滴滴的 Javascript……我现在知道我需要 PHP,这是我遇到最多问题的地方。这是问题所在。

我有一个 html5 画布,用户可以在其中涂鸦。我希望他/她能够按下按钮并将他/她的图像发送到服务器(我假设使用 PHP),并且图像会一直保存到另一个人打开涂鸦网页。我希望它是一个集体艺术作品:有人画了一些东西,提交它,其他人进入页面,另一个人的“艺术”已经在那里建立起来。理想情况下,这将是随机的,但目前我很高兴将图像发送到服务器并在下次打开时将其放回页面上。

我知道我必须使用带有隐藏字段的表单?这是我发现的,但老实说,我不知道这意味着什么以及如何去做。我找到了这段代码:

<form action="Drawing.html" method="post">
<input type="hidden" id="formImageFileName" name="imageFileName">
<input type="hidden" id="sketch" name="imageData" value="" />
<input type="submit" class="btn btn-primary" id="saveImageButton" value="Save Image..." />
</form>

<script language="javascript" type="text/javascript">
document.getElementById('my_hidden').value = canvas.toDataURL('image/png');
document.forms["form1"].submit();
</script>
<?php 
$link = mysql_connect('localhost', 'root', 'root');
$upload_dir = somehow_get_upload_dir();
$img = $_POST['my_hidden'];
$img = str_replace('data:image/png;base64,', '', $img);
$img = str_replace(' ', '+', $img);
$data = base64_decode($img);
$file = $upload_dir."image_name.png";
$success = file_put_contents($file, $data);
header('Location: '.$_POST['return_url']);
?>

当点击按钮时,图像消失。我不知道它是否会去任何地方,或者它是否只是被擦掉了?我试图独自完成,但我决定需要帮助。我是 PHP 的大新手,就像真正的大新手一样。我不知道其中有什么作用,如果有人用简单的术语向我解释它以及如何进行,我将不胜感激。我做了一些阅读,我知道为什么有 $ 以及 POST 是什么,我阅读了 mysql,但我不知道如何访问服务器或检索数据或任何东西。

拜托,我已经走到了尽头。提前感谢任何感到慷慨的人。

PS:请不要讽刺评论,如果我遗漏了什么,请告诉我。我已经因为不知道如何做到这一点而感到难过,并且不想因为忘记包含某些内容而感到更糟。请不要评论有多少地方可以找到我正在寻找的东西,如果我来到这里,那是因为我需要认真的帮助,而这些地方并没有因为我的时间限制而减少它。

再次感谢!

4

2 回答 2

0

您需要大量知识,不仅包括编码,还包括配置 PHP 服务器和 MySQL 服务器。这么多信息可能太多了,无法在这里回答。

这是一个非常概括的列表,列出了您必须实现的目标:

  • 配置您的 PHP 服务器的 php.ini 以允许上传。
  • 配置 MySQL 和 PHP 以协同工作。
  • 创建一个 MySQL 数据库和表来存储您的图像。
  • 创建 .php 文件以允许用户上传文件或使用 XMLHttpRequest() 为他们进行上传。
  • 添加接受 POST 或 FILE 提交并将图像放入数据库的脚本。
  • 创建 .php 文件以允许用户从数据库中“签出”文件。
  • 添加从数据库中选择正确图像并将其下载给用户的脚本。
  • 如果允许多个用户同时签出同一个文件,则在 MySQL 上处理并发问题。

我读到你是 html、webservers 和数据库的新手,所以我希望这个列表目前对你来说是具有挑战性的。所以这是我的建议:注册 Lynda.com 免费试用会员。他们有非常好的网络研讨会处理网络主题。我不隶属于 Lynda.com(这里没有推销!),但我确实发现他们的研讨会是一个很好的学习工具。

特别是,请观看名为“PHP 与 MySQL 超越基础”的教程中的这些章节:

  • 照片库项目设置
  • 上传文件
  • 摄影课

祝你好运,继续编码......通过坚持和一些学习,你的作品将融合在一起!

于 2013-03-07T06:10:19.733 回答
0

当您按下提交时,您的客户端(浏览器)将图像上传到服务器,现在期待页面加载。您必须从服务器重新发送带有画布及其内容的页面。

于 2013-03-06T18:28:01.997 回答