我有一个用于将数据上传到我的数据库的表单。将要上传的数据是与上传的数据相关联的图像。(需要上传带有数据的图像。)此刻,我的图像脚本上传工作正常,但我希望更好/改善上传过程。
图片上传流程:
if($_POST)
{
//Sets various variables containing the $_POST data submitted by the form
//Server-side validation
//Insert form data into database
//Get last insert id and saves it in a variable
if(insert is successful)
{
//Checks if $_FILES['upload']['tmp_name'] isset,!empty,is_uploaded_file
//Checks if $_FILES['upload']['size'] < max size allowed
//Sets image fileuploadpath,createimagetruecolor etc...
//Saves image(imagejpeg,imagegif,imagepng, etc...)
//Inserts image filepath in database
}
else
{
die('error');
}
}
else
{
die("error");
}
如上所示,我正在将表单数据成功上传到数据库后处理图像。当当前正在工作时,如果处理/上传图像时发生任何事情,我将最终得到一个表格,将其数据成功保存在数据库中,同时图像丢失,这将导致各种不良问题。
我目前正在通过在处理图像之前使用成功数据插入的lastinsertid动态创建fileuploadpath来保存图像。 E.g
$uploadpath="..\\data\\user\\****lastinsertid****\\img\\****uploadedimage****";
这需要我在成功插入数据后处理图像,当我已经获得了lastinsertid时。
我有什么方法可以改进我的文件上传过程,这样如果出现任何错误,我不会最终得到丢失图像的数据库记录吗?
我将不胜感激任何意见和建议
P.S我目前正在使用PHP 5.5,MYSQL(PDO),刚刚开始编程不久前。如果需要,我可以提供实际代码示例。