抱歉,如果标题不是很清楚,但想法是上传工作非常好,当我尝试进行发布更新时,数据库中的旧记录被清除,但文件(图像)被物理保存在主机上。
这是我使用的代码:
$marca = filter_input(INPUT_POST, 'marca', FILTER_SANITIZE_STRING);
$model = filter_input(INPUT_POST, 'model', FILTER_SANITIZE_STRING);
if (is_dir("/home/bahoy/public_html/panou/poze/{$marca}/{$model}"));
else
mkdir("/home/bahoy/public_html/panou/poze/{$marca}/{$model}", 0755, true);
$director_poza = ("poze/{$marca}/{$model}/");
$numetmp_poza = $_FILES['numepoza1']['name'];
$numepoza1 = $director_poza . $numetmp_poza;
$numetmp_poza = $_FILES['numepoza2']['name'];
$numepoza2 = $director_poza . $numetmp_poza;
$numetmp_poza = $_FILES['numepoza3']['name'];
$numepoza3 = $director_poza . $numetmp_poza;
if (move_uploaded_file($_FILES['numepoza1']['tmp_name'], $numepoza1))
if (move_uploaded_file($_FILES['numepoza2']['tmp_name'], $numepoza2))
if (move_uploaded_file($_FILES['numepoza3']['tmp_name'], $numepoza3)) {
list($width, $height, $type, $attr) = getimagesize($numepoza1) and list($width, $height, $type, $attr) = getimagesize($numepoza2) and list($width, $height, $type, $attr) = getimagesize($numepoza3);
switch ($type) {
case 1:
$ext = ".gif";
break;
case 2:
$ext = ".jpg";
break;
case 3:
$ext = ".png";
break;
default:
print "Format foto neacceptat";
}
}
对于我正在使用的 SQL 记录$numepoza1
,它们是文件路径$numepoza2
,$numepoza3
我需要将旧文件记录保留在 sql 中,或者如果我想更改图像,以物理方式和 sql 记录替换它们。想法?