Resim yüklemeye çalışıyorum, ancak görüntü zaten varsa, dosyayı yeniden adlandırmak istiyorum. Kodumdaki sorun, dosyayı yeniden adlandırdıktan sonra görüntüyü yüklemeye çalıştığımda ortaya çıkar. Sorunla karşılaştığım kodun kısmı. Yeniden adlandırma işleminden sonra ben değişmiş olur dosyanın adını yankı ama eğer ondan sonra ben sunucusuna resim yüklemek mümkün değilimgörüntüyü sunucuya yüklerken yeniden adlandırma
if(file_exists($target_file))
{
$new_filename = uniqid() . '.' . $fileData['imageFileType'];
rename($target_file, $new_filename);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
{
$name=basename($_FILES["fileToUpload"]["name"]);
echo $name;
}
else
{
echo "Sorry, there was an error uploading your file.";
}
}
else
{
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
{
$name=basename($_FILES["fileToUpload"]["name"]);
echo $name;
}
else
{
echo "Sorry, there was an error uploading your file.";
}
}
i resmi yüklenirken için sahip tüm kod
<?php
require 'connection.php';
$target_dir = "catpic/";
$target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
// Check if image file is a actual image or fake image
if(isset($_POST["submit"]))
{
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false)
{
//echo "File is an image - " . $check["mime"] . ".";
$uploadOk = 1;
}
else
{
echo "File is not an image.";
$uploadOk = 0;
}
}
// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000)
{
echo "Sorry, your file is too large.";
$uploadOk = 0;
}
// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif")
{
echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
$uploadOk = 0;
}
// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0)
{
echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
}
else
{
if(file_exists($target_file))
{
$new_filename = uniqid() . '.' . $fileData['imageFileType'];
rename($target_file, $new_filename);
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
{
$name=basename($_FILES["fileToUpload"]["name"]);
echo $name;
}
else
{
echo "Sorry, there was an error uploading your file.";
}
}
else
{
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file))
{
$name=basename($_FILES["fileToUpload"]["name"]);
echo $name;
}
else
{
echo "Sorry, there was an error uploading your file.";
}
}
}
?>
Hatanın ne olduğunu biraz daha açıklayabilir misiniz? – Zgr3doo
@ Zgr3doo, hatanın yeniden adlandırma kısmından sonra görüntümün yüklenmemesidir. ilk kez görüntüyü yüklerseniz iyi olur, ancak bir dahaki sefere aynı resmi yüklediğimde adının değişmesine rağmen yükleme yapılmazsa – roy
$ new_filename'ınızdaki yolu kaçırıyorsunuzdur - yolu kullanmak iyi bir fikir olabilir. Bu, dosya yükleme komut dosyalarında yaygın olarak kullanılır ve yüklenen dosyalara bir ad olarak rastgele karma atar ve bu karma değeri dosya kimliğiyle birlikte veritabanına kaydeder. – Zgr3doo