タイトルが非常に明確でない場合は申し訳ありませんが、アップロードは非常にうまく機能しており、投稿を更新しようとすると、データベースからの古いレコードは消去されますが、ファイル (画像) は物理的にホストに保持されます。
これは私が使用したコードです:
$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レコードに置き換える必要があります。アイデア?