我有一个 php 脚本,它获取用户输入(一些文本和一个链接),将其放入数据库中,然后使用用户提供的链接搜索图像。
问题是,有时搜索图片需要一段时间,这会使网站“卡住”,因此显示“您的帖子已提交!”的视图 有时需要 4 到 6 秒才能最终加载。
有没有办法让 PHP 异步搜索图像?
您可能想知道我为什么不直接加载视图然后进行图像搜索,或者只使用 AJAX。好吧,我需要数据库中的“最后插入 ID”来根据项目 ID 重命名图像,这只能在帖子插入数据库后完成。
编辑 1:我已经阅读了这个异步 PHP 调用?但我不确定我是否理解。
编辑 2:这是所要求的过程概述:
- 第 1 步:用户打开表单并填写 2 个字段(一些文本和一个链接)
- 第 2 步:用户提交表单
- 第 3 步:PHP 在 MySQL 数据库中插入帖子
- 第 4 步:PHP 搜索该链接的图像(爬网,需要几秒钟)并使用数据库插入的最后一个 ID 的名称保存图像。如果最后一个 ID 为 75,图像将保存为“img_75”。
- 第 5 步:PHP 加载“您已成功发布链接”
我想要的是step 5 在 step 3 之后发生,而 step 4 正在运行。我实际上并不需要第 4 步的响应。只要它在后台运行我很高兴 :)
解决方案:我已经按照@shadyyx 的建议做了。一个简单的 AJAX 调用。我真的希望有一个替代方案,但显然 php 或任何其他服务器端语言都不能处理异步调用。