Klasörde aynı isimde dosyanın olup olmadığını nasıl kontrol edebilirim?
Merhabalar. Form'dan gelen bir sayı var. Bu sayı, oluşturacağım json dosyasının adını oluşturuyor. "1.json", "2.json" gibi. "1.json" dosyasının "json" isimli klasörde olup olmadığını aşağıdaki kodlarla yapmaya çalıştım ama her seferinde "Dosya İsmi Mevcut. Lütfen Başka Bir Dosya İsmi Veriniz" uyarısını veriyor. Kodları nasıl düzenlemek lazım acaba?
$ac = "./json/$s_icerikid" . '.json';
if(file_exists($ac)) {
echo "Dosya İsmi Mevcut. Lütfen Başka Bir Dosya İsmi Veriniz";
exit();
}
soyle bir kontrol ile belki daha kolay yonetebilirsin;
<?php
$ad = $_POST['ad'];
$ozellik = $_POST['ozellik'];
$kategori = $_POST['kategori'];
$eskifiyat = $_POST['eskifiyat'];
$yenifiyat = $_POST['yenifiyat'];
$indirimlifiyat = $_POST['indirimlifiyat'];
$urunsayisi = $_POST['urunsayisi'];
$urunalani = $_POST['urunalani'];
$icerikid = $_POST['icerikid'];
// dosya varsa hatalar bu degiskende tutulacak
$errors = [];
foreach ($ad as $index => $names) {
$s_ad = $names;
$s_ozellik = $ozellik[$index];
$s_kategori = $kategori[$index];
$s_eskifiyat = $eskifiyat[$index];
$s_yenifiyat = $yenifiyat[$index];
$s_indirimlifiyat = $indirimlifiyat[$index];
$s_urunsayisi = $urunsayisi[$index];
$s_urunalani = $urunalani[$index];
$s_icerikid = $icerikid[$index];
$dosya = 'json/' . $s_icerikid . '.json';
if (file_exists($dosya)) {
$errors[] = "$dosya diye bir dosya var";
} else {
// dosya yoksa islemlere devam et
global $filename;
$filename = $s_icerikid . ".json";
$myObj->ss_dosya_adi[] = $dosya_adi;
$myObj->ss_ad = $s_ad;
$myObj->ss_ozellik = $s_ozellik;
$myObj->ss_kategori = $s_kategori;
$myObj->ss_eskifiyat = $s_eskifiyat;
$myObj->ss_yenifiyat = $s_yenifiyat;
$myObj->ss_indirimlifiyat = $s_indirimlifiyat;
$myObj->ss_urunsayisi = $s_urunsayisi;
$myObj->ss_urunalani = $s_urunalani;
$myObj->ss_icerikid = $s_icerikid;
$dizijson = json_encode($myObj);
file_put_contents("json/" . $filename, $dizijson);
if (move_uploaded_file($gecici_yol, "../../images/indexurunler/" . $dosya_adi)) {
}
}
}
if (count($errors) > 0) {
print_r($errors); // hatali olan dosyalari gosterir, hatali olmayanlar eklendi hatali olanlar icinde uyari vs, verebilirsin
}