【发布时间】:2015-12-15 12:19:18
【问题描述】:
我在使用 PHP 从网站中删除文件时遇到了一些问题。
我有一些代码可以上传文件,(有效)然后调整大小、重命名、更改图像格式并保存上传的图像两次。 (一次是全尺寸图像,一次是缩略图。)
这部分工作正常,不用担心。
但是,我正在编写一些错误检查代码,如果图像格式与文件扩展名不匹配,将删除这些上传的图像。
(例如在mspaint中创建一个bmp文件并保存。关闭paint,在paint中重新打开bmp文件然后点击文件,另存为,然后保存为png。
发生的情况是,paint 只会更改扩展名,而不是文件格式。尝试使用我的 php 脚本打开该 png,它会因“图像不是有效的 png”错误而失败。
我编写了一个自定义错误函数来通知用户图像格式错误。 (因为告诉用户他们为什么会遇到问题比仅仅告诉他们他们有问题更好。)
下面的代码将显示文件的名称,该文件确实存在,但不会通过'file_exists'检查。
print( $imagename . ".jpg<br/>\n" ); // Displays 'images/filename.jpg'
if ( file_exists( $imagename.".jpg" ) ) { unlink( $imagename.".jpg" ); print( "Image deleted<br/>\n" ); }
我尝试在前面添加一个“/”,但没有成功,我不确定为什么找不到该文件?
有什么提示吗? (并为大量文本道歉!)
【问题讨论】:
-
您将图像存储在哪里?在与您的 php 文件相同的文件夹中?我敢打赌这是一个路径问题
-
最好使用 $_FILES['upl']['type'] 提供验证并允许您需要的扩展。
-
文件位于 images 文件夹中,作为 php 文件所在文件夹的子文件夹。所以:php 文件夹/图像/上传的文件
标签: php file-exists unlink