PHP Multi Upload

0

Merhaba,

PHP ile masraf girişi uygulaması yapıyorum. Upload sisteminde kullandığım kodları boş bir deneme sayfasında çalıştırdığımda oluyor. Ancak kendi formumun içinde kullandığımda resmin yolunu veritabanına kaydetmiyor.

Acaba elinizde multi upload kodları var mı?

paristanbulima paristanbulima (228)
9 yıl önce sordu

    Toplam 2 Cevap


    1

    $gelen=$_FILES["imagesUpload"]['tmp_name'];
            $hedef="uploads/".$_FILES["imagesUpload"]['name'];

            if(is_uploaded_file($gelen))
            {
                   move_uploaded_file($gelen,$hedef);
            }

            $ekle = mysql_query("insert into gelirler                     (kaydeden,firmaadi,aciklama,islem_tutari,islem_tarihi,fatura_tutari,fatura_tarihi,faturano,resim,odendi,cariid)         values('$kaydeden','$firmaadi','$aciklama','$tutar','$tarih','$faturatutar','$faturatarih','$faturano','$hedef','$odeme','$cariid')");
            

    NOT: MULTI-UPLOAD İŞLEMİ GERÇEKLEŞTİRMİYOR. ONUN HAKKINDA BİR ÖNERİSİ OLAN VARSA ÇOK İYİ OLUR.

    paristanbulima paristanbulima (228)
    9 yıl önce cevaplandı

    • Nasıl çözdüğünüzü açıklarsanız, aynı sorunla karşılaşanlar da yararlanır. damlakoc 9 yıl önce
    • Sorularınızın altında sorunu çözdüm yazmak yerine nasıl çözdüğünüzü yazarsanız diğer kullanıcılar da yararlanabilir. brsozl 9 yıl önce
    • Kodlarda bir yanlışlık yapmışım. Bu yüzden hata oluyormuş. Kodları tek tek incelediğimde hatanın farkına vardım. Kodları paylaşıyorum paristanbulima 9 yıl önce

    0

    PHP ile multi file upload için Uploadify kullanabilirsiniz.

    Uploadify buradan indirin

    indirilen dosya içinde php multi file upload örneği var. Ben burayada kopyalayayım:

    index.php

    <!DOCTYPE HTML>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>UploadiFive Test</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
    <script src="jquery.uploadify.min.js" type="text/javascript"></script>
    <link rel="stylesheet" type="text/css" href="uploadify.css">
    <style type="text/css">
    body {
    	font: 13px Arial, Helvetica, Sans-serif;
    }
    </style>
    </head>
    
    <body>
    	<h1>Uploadify Demo</h1>
    	<form>
    		<div id="queue"></div>
    		<input id="file_upload" name="file_upload" type="file" multiple="true">
    	</form>
    
    	<script type="text/javascript">
    		<?php $timestamp = time();?>
    		$(function() {
    			$('#file_upload').uploadify({
    				'formData'     : {
    					'timestamp' : '<?php echo $timestamp;?>',
    					'token'     : '<?php echo md5('unique_salt' . $timestamp);?>'
    				},
    				'swf'      : 'uploadify.swf',
    				'uploader' : 'uploadify.php'
    			});
    		});
    	</script>
    </body>
    </html>

     

    uploadify.php

    <?php
    
    // Define a destination
    $targetFolder = '/uploads'; // Relative to the root
    
    $verifyToken = md5('unique_salt' . $_POST['timestamp']);
    
    if (!empty($_FILES) && $_POST['token'] == $verifyToken) {
    	$tempFile = $_FILES['Filedata']['tmp_name'];
    	$targetPath = $_SERVER['DOCUMENT_ROOT'] . $targetFolder;
    	$targetFile = rtrim($targetPath,'/') . '/' . $_FILES['Filedata']['name'];
    	
    	// Validate the file type
    	$fileTypes = array('jpg','jpeg','gif','png'); // File extensions
    	$fileParts = pathinfo($_FILES['Filedata']['name']);
    	
    	if (in_array($fileParts['extension'],$fileTypes)) {
    		move_uploaded_file($tempFile,$targetFile);
    		echo '1';
    	} else {
    		echo 'Invalid file type.';
    	}
    }
    ?>

     

    alattin alattin (17127)
    9 yıl önce cevaplandı

    • Peki bunu veritabanına tek satır halinde kaydedebilir miyim? paristanbulima 9 yıl önce
    • Dosya upload ederken unutmamanız gereken şey, dosyanın adını veritabanına kaydedeceksiniz. dosyanın kendini değil. Yukarıdaki kodlar dosyayı sunucuya yükler. Bu işlemin sonunda sizin veritabanınıza yüklenen dosyanın adını kaydetmiş olmanız gerekir. En iyi pratik için dosyayı sunucuya upload etmeden ona tekil bir isim verin (random üretilmiş bir ad) daha sonra bu dosya adını veritabanına kaydedin. alattin 9 yıl önce
    • Tamam, orasını biliyorum. Dosya isimlerini bir satıra kaydetmem gerekiyor. İlgili alana aralarına virgül koyarak kaydetsem sorun olur mu? Daha da önemlisi kaydedebilir miyim? Ve daha sonra bu dosyaları listeleyecek olursam sorun yaşar mıyım? paristanbulima 9 yıl önce
    • herhangi bir seperator kullanabilirsiniz, virgün uygun. Daha sonra listelemek istediğinizde elbette virgül ile ayırdığınız dosyaları tekrar işlemden geçirerek ayırmanız gerekir. Ayrıca her dosya adını ayrı bir satirda, dosyalar diye bir tablonun içinde satır satır da tutabilirsiniz. alattin 9 yıl önce
    • Hmm. Teşekkürler bilgi için paristanbulima 9 yıl önce
    üyelik gerektirir

    Cevap yazabilmek için üye girişi yapmalısınız.

    Eğer uzmanim.net üyesiyseniz giriş yapabilirsiniz: üye girişi yap
    uzmanim.net'e üye olmak çok kolaydır: hemen kayıt ol