çoklu resim yükleme
<?php
$numfile=count($_FILES['inline_upload_file']['tmp_name']);
for($i=0;$i<$numfile;$i++)
{
$upload_dir = '/var/www/vhosts/lafdemligi.com/subdomains/m/resimler/';
$uzanti = pathinfo($_FILES['inline_upload_file']['name']);
$upload_path = $upload_dir . basename(substr(md5(uniqid(rand())),0,10).".".$uzanti['extension']);
$response = array();
if (move_uploaded_file($_FILES['inline_upload_file']['tmp_name'], $upload_path))
{
$info = getImageSize($upload_path);
$response['status'] = 'success';
$response['width'] = $info[0];
$response['height'] = $info[1];
$response['src'] = 'https://m.lafdemligi.com'
.$upload_path;
}
else
{
$response['status'] = 'error';
$response['msg'] = $_FILES['inline_upload_file']['error'];
}
echo json_encode($response);
}
?>
birden fazla resmi seçebiliyorum ama yüklemeye bastığımda tek resim yükleniyor sadece
nerede hata yapıyorum yardımcı olabilir misiniz?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (49)
batuhanın verdiği linktekine ekleyebildim. sorun gözükmüyor.team versem bakmanız mümkün mü ?
O zaman senin bilgisayar ile alakalı olabilir farklı bir tarayıcada dene ama çözülüceğini düşünmüyorum birde Tayfun Hoca baksın...
http://linkml.epizy.com/?i=1 iki tane resim yulemeyi denermisin olmazdolmasaolmazdolmazsa bir daha denicem bende :D
batuhana : benim form javascript içerisinde html değil.
webdevyusuf : kendi formunda çalışıyordur ama benimkinde çalışmıyor
yok hocam doğru anlamışım o zaman onu da denedim yeni klasmr oluşturup denedim olmuyor
Batuhan'ın çıktısı herşey yolunda olarak gösteriyor ama phpde hepsinin sonunda [$i] koyman lazım discord vesaire varsa onuda at birazdan ben sana benim geliştirdiğim uygulamayı atayım
ilk attığım dışında değiştirirsem hiç yükleme yapmıyor
batuhan senin verdiğin kodun arasında resim/ diye bi yer var orayı anlayamadım. o yğzden olmadı seninknki de.yusuf hocanın verdiği kodlar da aişe yaramadı. php dosyamı düzenleyemez misiniz ?
ama multiple uploadlarda input type=file olannın name=isim[] şeklinde olmalıdır onuda düzeltin
yok hocam her yere ekledim tek tek kkaldırdım olmadı.
Array
(
[name] => Array
(
[0] => IMG_20200816_052713.jpg
[1] => IMG_20200808_203609.jpg
)
[type] => Array
(
[0] => image/jpeg
[1] => image/jpeg
)
[tmp_name] => Array
(
[0] => /storage/emulated/0/Android/data/com.esminis.server.php/files/tmp/phpUPeSCY
[1] => /storage/emulated/0/Android/data/com.esminis.server.php/files/tmp/phpnxPuM9
)
[error] => Array
(
[0] => 0
[1] => 0
)
[size] => Array
(
[0] => 1214663
[1] => 1248173
)
)
$_FILES['dosya']['name'][$i] benim aldığım çıktı
Önce bi şöyle deneyelim
$_FILES['inline_upload_file']['farketmez']
böyle olanların sonuna
[$i]
koy
örnek: $_FILES['inline_upload_file']['name'][$i]
evet hocam ilk gönderideki php dosyası. yani tek seçim yapabiliyorum.klasöre ve konuya kaydedebiliyorkaydedebiliyorum.ama 2 resim seçince birini klasöre kaydediyor.
yok hocam localde değil. www.lafdemligi.com tüm sorun bence php dosyasında
hepsini kaldırdım bitek sizin dediğiniz duruyor. hiç göndermiyor
type button olandan kaldır bide formdaki nameide kaldır ondan olabilir
<form id="inline_upload_form" action="/markitup.php" target="inline_upload_iframe" method="post" multiple="multiple" name="inline_upload_file[]" enctype="multipart/form-data">
<label for="inline_upload_file">File</label>
<input name="inline_upload_file[]" id="inline_upload_file" type="file" multiple="multiple" accept=".png, .jpg, .jpeg, .gif"><div class="yukizleme" style="max-height: 50px"></div><br>
<input id="inline_upload_submit" type="button" multiple="multiple" name="inline_upload_file[]" value="Resim Yukle"></form>
seninki bu
<form id="inline_upload_form" action="/markitup.php" target="inline_upload_iframe" method="post" multiple="multiple" name="inline_upload_file[]" enctype="multipart/form-data">
<label for="inline_upload_file">File</label><input name="inline_upload_file" id="inline_upload_file" type="file" multiple="multiple" accept=".png, .jpg, .jpeg, .gif">
<div class="yukizleme" style="max-height: 50px"></div><br>
<input id="inline_upload_submit" type="button" multiple="multiple" name="inline_upload_file[]" value="Resim Yukle"></form>
benim dediğim bu
<form id="inline_upload_form" action="/markitup.php" target="inline_upload_iframe" method="post" multiple="multiple" name="inline_upload_file[]" enctype="multipart/form-data">
<label for="inline_upload_file">File</label><input name="inline_upload_file[]" id="inline_upload_file" type="file" multiple="multiple" accept=".png, .jpg, .jpeg, .gif">
<div class="yukizleme" style="max-height: 50px"></div><br>
<input id="inline_upload_submit" type="button" multiple="multiple" name="inline_upload_file[]" value="Resim Yukle"></form>
input type'ı file olan a olacak
inputun namenin şu şekilde olması lazım name="inline_upload_file[]"
<form id="inline_upload_form" action="/markitup.php" target="inline_upload_iframe" method="post" multiple="multiple" name="inline_upload_file[]" enctype="multipart/form-data">
<label for="inline_upload_file">File</label><input name="inline_upload_file" id="inline_upload_file" type="file" multiple="multiple" accept=".png, .jpg, .jpeg, .gif">
<div class="yukizleme" style="max-height: 50px"></div><br>
<input id="inline_upload_submit" type="button" multiple="multiple" name="inline_upload_file[]" value="Resim Yukle"></form>
Kodların şimdi çok karışık anlamak için ide lazım ama çok zamanım yok bu upload sayfasına gir inceleden formu seç ordaki html kodlarını buraya at yada url at ben bakmaya çalışıyım...
<?php
if ($_POST) {
$cikti = $_FILES["inline_upload_file"];
foreach ($cikti["tmp_name"] as $key => $value) {
move_uploaded_file($value, "dosya/" . $cikti["name"][$key]);
}
}
?>
Php için bi şu kodu dener misin?
https://www.lafdemligi.com/codes/templates/default/images/js/markitup/InlineUpload.js html yok işte hocam. https://prnt.sc/vsmx2t bu da editörün ekran görüntüsü. soldan 2.ye tıklayınca resim seçme geliyor.seçsek bile 1tanesi upload oluyor.
js ve php hocam. input falan hep js dosyasında. multiple ı oradan ayarladım. seçme işlemini yapabiliyorum. ama resmi gönder dediğimde 1tanesini yolluyor.
Gönderim işlemi Fetch mi? / xmlhttprequest mi? / jquery ajax mı? oluyor...
hocam submit işlemleri JavaScript ile yapılıyor. hazır bi metin editör kullanıyorum. o yüzden elimdeki phpyi düzenlemem gerekiyor maalesef
Tek yapıcağın işlem bu...
<?php
if ($_POST) {
$cikti = $_FILES["dosya"];
foreach ($cikti["tmp_name"] as $key => $value) {
move_uploaded_file($value, "dosya/" . $cikti["name"][$key]);
}
}
?>
<form action="" method="post" enctype="multipart/form-data">
Dosya Seç: <input type="file" name="dosya[]" multiple /> <button type="submit">Gönder</button>
</form>
ve Eğer javascript kullanmıyorsan verot.net ile güvenilir ve hızlı bir şekilde işini halledebilirsin...
İyi çalışmalar...
yapmak istediğim şey de basit. açılacak olan konulara çoklu resim eklemek istiyprum. resmi de klasöre kaydetmek.bendeki kodlarla tek tek yükleniyor. çoklu seçebiliyorum ama sadece 1tanesini upload ediyor. bende çalışmadı verdiğiniz kodlar
$cikti = $_FILES['dosya'];
for($i = 0; $i < count($cikti['name']); $i++){
if(is_uploaded_file($cikti['tmp_name'][$i])){
if(move_uploaded_file($cikti['tmp_name'][$i],'resim/'.$cikti['name'][$i])){
}
}
}
bu bende işe yaradi ama ne yapmak istedigini bilmiyorm bu basit oldu
$cikti = $_FILES['dosya'];
for($i = 0; $i < count($cikti['name']); $i++){
if(is_uploaded_file($cikti['tmp_name'][$i])){
if(move_uploaded_file($cikti['tmp_name'][$i],'resim/'.$cikti['name'][$i])){
}
}
}
bu bende işe yaradi ama ne yapmak istedigini bilmiyorm bu basit oldu
hocam öncellikle cevabınız için teşekkürler. markitup editöründe resim yükleme var. hem js hem php ile yazılmış. tek resim yükleyebiliyorum. 2 resim seçip yüklemeye kalktığımda aynı resmi 2 defa editöre ekliyor. klasöre de sadece 1 tane ekliyor.
bide çok açık var derken ne gibi onu anlamadım
çoklu foto yuklemesı ıcın ve sıtenın tamamını degıstırmen gereklı ufaktan bır baktım her yerı acık dolu
coklu foto ıcın https://www.verot.net/php_class_upload_samples.htm kullan