我想在第一次显示后从服务器删除图片(.jpg)。 但显示之前文件被删除(unlink();)。我已经尝试过使用sleep(),但这只会延迟加载,并且在显示之前所有文件都被删除。PHP ::如何读取后从服务器上删除文件。取消链接()之前执行
回答
这是因为所有PHP都在渲染输出之前在堆栈中执行。您需要设置一个函数来标记文件以在下一页加载时删除。
或者你可以设置一些AJAX删除图片在文件加载后。
输出呈现_during_ PHP执行。这就是PHP脚本所做的。 – 2011-04-23 04:04:27
您可以使用mod_rewrite将jpg请求重定向到将图像加载到内存中的脚本,删除该文件,然后提供图像。国际海事组织,这是最简单和最简单的解决方案。下面不安全示例...
例.htaccess文件:
# Turn on URL rewriting
RewriteEngine On
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]
的index.php
<?php
$image_file = $_SERVER['PATH_INFO'];
// clean data, strip current/parent directory to block transversal, etc...
if (file_exists('images/' . $image_file))
{
$image_data = file_get_contents('images/' . $image_file);
// determine image mimetype using phps mimetype functions
unlink('images/' . $image_file);
header('Content-Type: image/jpeg');
echo $image_data;
}
我不相信OP会在首次查看后删除_all_ JPG图像。另外,你的'.htaccess'似乎与问题/答案完全无关? – 2011-04-23 04:05:34
@Tomalak,我假设OP想要一次性视图图像脚本。上面的代码只是一个例子,他需要修改它以反映正确的图像路径,添加mimetype检测等。它使用htaccess实质上通过php脚本代理请求。该脚本返回图像并删除它(某些图像主机具有单视图,如果您想与单人共享图像,并且不希望它成为互联网上的永久性固定装置,则该图像有用)。 – 2011-04-25 14:22:39
也许答案应该包括,作为一个警告,在他回来之前抱怨我们删除了他所有的照片:) – 2011-04-25 23:08:35
- 复制从文件到存储器中的图像内容;
- 删除图像文件;
- 从存储器输出原始内容。
我可以做的最好的模糊,恐怕。
- 1. PHP读取后取消链接文件
- 2. 取消链接无法删除文件
- 3. 删除文件取消链接()
- 4. 取消链接()删除服务器上的图像以及SQL删除
- 5. 使用取消链接删除文件
- 6. 为上传的文件添加删除按钮(取消链接)
- 7. PHP-使用域路径删除/取消链接文件
- 8. 如何取消删除Google API服务
- 9. 如何从主服务器获取'我们删除'文件?
- 10. 如何直接从服务器与Python读取Excel文件
- 11. Javascript文件读取器onload(从服务器获取文件)
- 12. 如何取消链接php
- 13. 从链接服务器中删除
- 14. 如何从Web服务器上的xml文件读取数据
- 15. PHP取消链接或自行重写自己/当前文件
- 16. 读取XML文件从服务器
- 17. NSFileManager从服务器读取文件?
- 18. 从Web服务器读取XML文件
- 19. 如何在silverlight 3中上传文件后从服务器获取消息?
- 20. 从Android上读取/写入服务器上的文件
- 21. Python - 如何从服务器读取路径文件/文件夹
- 22. Scala:如何从文件中读取文本时删除空行
- 23. 如何HTML表单文件上传和从PHP服务器读取JSON响应
- 24. 如何获取要从服务器上删除的文件的路径
- 25. 取消链接或rmdir不能删除folder.only删除文件夹中的文件
- 26. 删除自动发布后,如何读取Meter.user()。服务?
- 27. 警告:取消链接()但文件被删除
- 28. PHP从服务器获取文件
- 29. 如何读取直接触发lambda执行的上传文件?
- 30. 如何从使用PHP的服务器中删除文件?
如果您发布了您的相关代码,这很可能是一个简单的修复。没有看到你的代码,你可能不会得到任何(有用的)答案。 – 2011-04-22 23:35:10