v2.5.2
Giriş yap

Lİnux move_uploaded_file() hatası

mtvartemis
653 defa görüntülendi

arkadaşlar merhaba yaptığım projede bir resim yükleme işlemi gerçekleştireceğim fakat bir hata oluşuyor windows kullanırken bir sorun oluşmuyordu ubuntuya geçtim kodlar çalışmadı

<?php
require 'config.php';
$adsoyad = $_POST["adsoyad"];
$kadi = $_POST["kadi"];
$mail = $_POST["mail"];
$sifre = $_POST["sifre2"];
$resim = $_FILES["resim"];
$dosyauzanti = substr($_FILES["resim"]["name"],-4,4);
$dosyaadi = md5(uniqid()).$dosyauzanti;
$dosyayolu = "materyal/resimler/uyeresim/".$dosyaadi;
$tarih = date('d.m.Y H:i');

if(is_uploaded_file($_FILES["resim"]["tmp_name"])){
    if(move_uploaded_file($_FILES["resim"]["tmp_name"],$dosyayolu)){
        echo "taşındı";

    }else{
        echo "olmAdı";
    }
}else{
    echo "hata";
}
?>

verileri ajax ile post ediyorum


$(document).on("submit", "#kayitform", function(event){ 
      event.preventDefault();
     $.ajax({
      url :"materyal/js/kayit.php",
      type : "POST",
      data: new FormData(this),
      processData : false,
      cache : false,
      contentType : false,
      success : function(para2) {
      alert(para2)
      }

     });
    }); 
    

dosyanın geçici yolunu öğrenmek için


echo $_FILES["resim"]["tmp_name"];

yazdığım bu komutta şu yolu verdi bana

tmp/546ghfr

bu arada

is_uploaded_file($_FILES["resim"]["tmp_name"])

komudunda herhangi bir sorun oluşmuyor sadece

move_uploaded_file($_FILES["resim"]["tmp_name"],$dosyayolu

fakat dosyayı resimler klasörüme kaydetmek istediğimmde hata veriyor yukarıda verdiğim tmp yoluna gidip izinleri kontrol ettim

resimdeki gibi bütün izinler verilmiş halde ben nolur nolmaz diye terminalden

chmod 777 -R /tmp/

komudunu yazarak tüm izinleri verdim bide son olarak resimleri kayıt edeceğim kalsörün izinlerinide kontrol ettim yine aynı şekilde tüm izinler verilmiş halde ne yapabilirim bu sorunu çözmek için

Cevap yaz
Cevaplar (1)
zailby9
1452 gün önce
ps -ef | grep apache

sudo chown -R www-data:www-data /var/www/uploads
sudo chmod -R 755 /var/www/uploads
sudo find /var/www/uploads -type f -exec chmod -x {} ;

Şu işlemi deneyin hocam ve yapmanız gereken /var/www/uploads kendi dosya yolunu yazmanız.