Was Sie unten sehen, ist ein Teil meines Skripts.
Das Problem ist, dass ich nur das verkleinerte Daumenbild benötige und nicht die Ursprungsdatei. Das Bild wird nicht verkleinert, wenn es nicht hochgeladen wird, daher sollte der Prozess folgendermaßen aussehen:
- -> erstellt einen Ordner
- -> lädt das Originalbild hoch
- -> verkleinert und speichert den Daumen
- -> löscht die Ursprungsdatei
Jetzt funktioniert dieser letzte Teil (Löschung) nicht. Ich erhalte diesen Fehler:
PHP Warnung: unlink($target_file) [function.unlink]: Datei oder Verzeichnis nicht gefunden in /Pfad/Datei.php in Zeile X
Es findet es nicht!
if (isset($_REQUEST['Submit'])) {
mkdir($dirloc, 0755, true);
$i1=$_FILES['image']['name'];
$nw1="$dirloc/".$i1;
if ($i1) {
$copy1 = copy($_FILES['image']['tmp_name'], $nw1);
}
$fileName = $_FILES["image"]["name"];
$kaboom = explode(".", $fileName);
$fileExt = end($kaboom);
function ak_img_resize($target, $newcopy, $w, $h, $ext) {
list($w_orig, $h_orig) = getimagesize($target);
$scale_ratio = $w_orig / $h_orig;
if (($w / $h) > $scale_ratio) {
$w = $h * $scale_ratio;
} else {
$h = $w / $scale_ratio;
}
$img = "";
$ext = strtolower($ext);
if ($ext == "gif"){
$img = imagecreatefromgif($target);
} else if($ext =="png") {
$img = imagecreatefrompng($target);
} else {
$img = imagecreatefromjpeg($target);
}
$tci = imagecreatetruecolor($w, $h);
imagecopyresampled($tci, $img, 0, 0, 0, 0, $w, $h, $w_orig, $h_orig);
imagejpeg($tci, $newcopy, 80);
}
$target_file = "$dirloc/$fileName";
$resized_file = "$dirloc/thumbnail.$fileExt";
$wmax = 150;
$hmax = 150;
ak_img_resize($target_file, $resized_file, $wmax, $hmax, $fileExt);
$xxx = $resized_file;
$delete_target_file = unlink('$target_file');
$sql = "INSERT INTO $db_table(path,code,timecode,catg,description,title) values
('$xxx','".mysql_real_escape_string(stripslashes($_REQUEST['code']))."',
'".mysql_real_escape_string(stripslashes($times))."',
'".mysql_real_escape_string(stripslashes($_REQUEST['catg']))."',
'".mysql_real_escape_string(stripslashes($_REQUEST['area2']))."',
'".mysql_real_escape_string(stripslashes($_REQUEST['fbox']))."')";
if($result = mysql_query($sql ,$db)) {
$codes = $_REQUEST['code'];
$linkto = "?v=$codes";
echo "window.location = '$linkto'";
} else {
echo "FEHLER: ".mysql_error();
}
} else {
// Hier kommt das Formular
}
Kann mir jemand erklären, warum es nicht gelöscht wird?