需要在后台执行代码

时间:2011-04-28 12:05:49

标签: php javascript image json resize

我已经完成了从iphone到PHP Server接收图像的代码,我需要调整这些图像的大小并移动到4个文件夹。

只有这样json才能给予iphone。但这需要很长时间。

要求:

  1. 我想将文件移动到文件夹“folder1”,然后想要给出json响应。
  2. 在给出json响应之后,调整大小过程应该从这个“folder1”开始。

    如何在后台运行此调整大小过程。

    这是我的代码:

    http://pastebin.com/qAcT1yi9

6 个答案:

答案 0 :(得分:1)

您可以随时使用Linux命令将您的php脚本发送到后台运行。

示例:

// using backticks to execute the Linux command but there are 
// other alternatives 
$cmd = `php runScriptInBackground.php &`;
echo $cmd;

答案 1 :(得分:0)

首先发送/上传图像并发回响应,而不进行调整大小操作。

然后,如果上传成功,请让浏览器发出另一个请求并进行调整大小。如果成功,请回复“重新调整成功”消息。

答案 2 :(得分:0)

此问题的常见解决方案是在点击特定事件时实施加载/处理消息。然后 - 仍然显示 - 操作将继续在后台加载,结果页面最终将在完成时显示。

虽然用户必须等待,但我更喜欢上面的内容,当实际结果未知时,会显示结果消息。不幸的是,我不确定如何这是在iphone开发上完成的。

答案 3 :(得分:0)

如果您的目标是c,那么您可以调整大小并在那里调整大小并将调整后的图像发送到您的php,然后您可以将微调器和json结果显示给用户,如果是错误的话用户仍然会有调整大小的图像再次尝试...还有另一个想法是我使用推送通知。我不知道代码会是什么样子但是需要考虑

答案 4 :(得分:0)

您需要在页面中使用异步javascript或iframe将图片发布到服务器并向用户提供反馈。

这意味着“主”页面不会改变,但可以向用户提供一些视觉信息。

您可以显示动画gif加载器或使用JS setInterval让用户感觉事情正在向前发展,等待服务器响应。

如果处理分为多于1个部分,则在每个步骤之后,服务器可以使用HTML页面和重定向进行响应:这甚至可以在没有JS的IFRAME中工作。 每个“页面”将执行一个步骤。但是,如果用户在完成所有操作之前关闭浏览器,则会以未完成的任务结束。

数据库,真实后台处理和客户端JS轮询是一种更强大的替代方案。

一个完整的答案将是相当长的,需要你的设置方式的详细信息(阿帕奇CGI PHP?或mod_php的?你使用MVC模型或框架,或者是你写一个面向页面的网站?)。

如果我必须写完整的答案,我会忘记PHP并使用Python和芹菜http://celeryproject.org/; - )

PS。

我刚发现已经存在一些相关问题:

答案 5 :(得分:0)

你可以两次真正做到这一点,首先发送de文件并保存在第一台服务器上,之后用户请求你生成必要的部分。

您会将费用从文件发件人传递给第一个请求。