• 10-09-2008, 02:00:24
    #1
    forumumda gonder.php dizininde dosya eklentisi için girdigim degerler mesajda... jpeg için "image/jpeg" degerini girdigim halde olmuyor surekli desteklenmeyen format diyor, degeri "file/jpg", "file/JPG", veya "image/jpeg", "image/JPG" yaziyorum yine olmuyor ,olmuyor ve olmuyor, kisacasi nasil duzeltebilirim hata nerde tesekkurler simdiden...
    form sadece gif formatindaki resimleri ve word formatli belgeleri gonderiyor... rar. zip. jpeg
    dosya ve resim gondermek için nasil duzeltebilirim asgida gonder.php vede func.mail.php dosyamdaki ilgi kodlar mevcut bkarsaniz sevinirim

    gonder.php
     
    $format=array("image/png","image/gif","image/jpeg","text/plain","application/msword","application/zip","application/x-download"); 
    $kaynak1 = $_FILES['eklenti1']['tmp_name']; 
    $isim1 = $_FILES['eklenti1']['name']; 
    
    $kaynak2 = $_FILES['eklenti2']['tmp_name']; 
    $isim2 = $_FILES['eklenti2']['name']; 
    
    $kaynak3 = $_FILES['eklenti3']['tmp_name']; 
    $isim3 = $_FILES['eklenti3']['name']; 
    
    $dizin="../mail"; 
    $yeni_isim="attach"; 
    if(!empty($kaynak1)) { 
    if (in_array ($_FILES['eklenti1']['type'], $format)) 
    { 
    $dosya = $dizin . "/".$_FILES['eklenti1']['name']; 
    if (move_uploaded_file ($_FILES['eklenti1']['tmp_name'], $dosya)) 
            { echo"-";} else {echo"Dosya 1 Yüklenemedi.";exit;} 
        } else {echo"Desteklenmeyen Format 1";exit;} 
        } 
         
        if(!empty($kaynak2)) { 
    if (in_array ($_FILES['eklenti2']['type'], $format)) 
    { 
    $dosya = $dizin . "/".$_FILES['eklenti2']['name']; 
    if (move_uploaded_file ($_FILES['eklenti2']['tmp_name'], $dosya)) 
            { echo"-";} else {echo"Dosya 2 Yüklenemedi.";exit;} 
        } else {echo"Desteklenmeyen Format 2";exit;} 
        } 
         
        if(!empty($kaynak3)) { 
    if (in_array ($_FILES['eklenti3']['type'], $format)) 
    { 
    $dosya = $dizin . "/".$_FILES['eklenti3']['name']; 
    if (move_uploaded_file ($_FILES['eklenti3']['tmp_name'], $dosya)) 
            { echo"-";} else {echo"Dosya 3 Yüklenemedi.";exit;} 
        } else {echo"Desteklenmeyen Format 3";exit;} 
        }

    func.mail.php

    <? 
      function SendMail($From,$FromName,$To,$ToName,$Subject,$Text,$Html,$AttmFiles) 
         { 
       
         $n = "\n"; 
         $t = "\t"; 
    
         
         $OB = '-----='.md5(uniqid(rand()));                 
         $IB = '-----='.md5(uniqid(rand()));               
    
         
         $Head = 'MIME-Version: 1.0'.$n. 
                 'From: '.$FromName.' <'.$From.'>'.$n.     
                 'To: '.$ToName.' <'.$To.'>'.$n.             
                 'Reply-To: '.$FromName.' <'.$From.'>'.$n.   
                 'X-Priority: 1'.$n.                       
                 'X-MSMail-Priority: High'.$n. 
                 'X-Mailer: My PHP Mailer'.$n. 
    
               
                 'Content-Type: multipart/mixed;'.$n.$t. 
                         'boundary="'.$OB.'"'.$n; 
    
       
         $Body = 'This is a multi-part mesaj in MIME format.'.$n.$n. 
    
           
                 '--'.$OB.$n. 
                 'Content-Type: multipart/alternative;'.$n.$t. 
                         'boundary="'.$IB.'"'.$n.$n. 
    
               
                 '--'.$IB.$n. 
                 'Content-Type: text/plain;'.$n.$t. 
                         'charset="iso-8859-9"'.$n. 
                 'Content-Transfer-Encoding: 7bit'.$n. 
                 $Text.$n. 
    
               
                 '--'.$IB.$n. 
                 'Content-Type: text/html;'.$n.$t. 
                         'charset="utf-8"'.$n. 
                 'Content-Transfer-Encoding: base64'.$n.$n. 
                 chunk_split(base64_encode($Html)).$n.$n. 
    
                 
                 '--'.$IB.'--'.$n.$n; 
    
         
         foreach($AttmFiles as $AttmFile) 
            { 
           
            $PathArr  = explode ("/", $AttmFile); 
            $FileName = $PathArr[count($PathArr)-1]; 
    
            @$File  = fopen ($AttmFile, "r"); 
                     $FileContent = chunk_split(base64_encode(fread($File,filesize($AttmFile)))); 
                  @fclose ($File); 
    
         
            $Body .= '--'.$OB.$n. 
                     'Content-Type: application/octetstream;'.$n.$t. 
                             'name="'.$AttmFile.'"'.$n. 
                     'Content-Transfer-Encoding: base64'.$n. 
                     'Content-Disposition: attachment'.$n.$t. 
                             'filename="'.$AttmFile.'"'.$n.$n. 
                     $FileContent.$n.$n; 
            } 
    
         
         $Body .= '--'.$OB.'--'.$n; 
    
         
         if(@mail($To,$Subject,$Body,$Head)) return true; 
         else                                return false; 
         } 
    
    ?>
    index.php deki kodlar

    </td>
                        </tr>
                        <tr>
                          <td align="right" vAlign="middle" height="29"><span class="style11">Eklenek dosya 1 : </span></td>
                          <td height="29"><div align="left"><span class="style14"><font size="1">
                          <input name="eklenti1" type="file" />                      
                          </font></span></div></td>
                        </tr>
                           <tr>
                          <td align="right" vAlign="middle" height="29"><span class="style11">Eklenek dosya 2 : </span></td>
                          <td height="29"><div align="left"><span class="style14"><font size="1">
                          <input name="eklenti2" type="file" />                      
                          </font></span></div></td>
                        </tr>
                           <tr>
                          <td align="right" vAlign="middle" height="29"><span class="style11">Eklenek dosya 3 : </span></td>
                          <td height="29"><div align="left"><span class="style14"><font size="1">
                          <input name="eklenti3" type="file" />                      
                          </font></span></div></td>
                        </tr>
                        <tr>
                          <td height="75" colspan="2">
                            <p align="center">  <font size="1"><span class="style14"></span></font><font size="1" color="#FFD700">
                              <input type="submit" value=" Gönder " style="font-family: verdana; ; font-size: 8pt; font-weight: italic; border: 1px solid #5B80A8;  ">
    &nbsp;&nbsp;&nbsp;&nbsp;
                            <input type="reset" value=" Sil " style="font-family: verdana; ; font-size: 8pt; font-weight: italic; border: 1px solid #5B80A8;  ">
  • 10-09-2008, 17:09:36
    #2
    image/jpeg yerine image/pjpeg dener misin?

    Ayrıca kontroller için şöyle bir fonksiyon kullanmak senin için daha rahat olur;
    function kontrol($ad) {
    $format=array("image/png","image/gif","image/jpeg","text/plain","application/msword","application/zip","application/x-download"); 
        if(!empty($_FILES['$ad']['tmp_name']; )) { 
    if (in_array ($_FILES['$ad']['type'], $format)) 
    { 
    $dosya = $dizin . "/".$_FILES['$ad']['name']; 
    if (move_uploaded_file ($_FILES['$ad']['tmp_name'], $dosya)) 
            { echo"-";} else {echo"Dosya ".$ad." Yüklenemedi.";exit;} 
        } else {echo"Desteklenmeyen Format ".$ad; exit;} 
        }
    }
    kontrol("formdaki upload adı"); olarak kullanabilirsin.
    Nor : Syntax hatası olabilir kontrol etmedim.
  • 10-09-2008, 22:21:39
    #3
    Hocam benim yazdiklarimda sizin dediginiz gibi pjpeg yazdim ve jpeg resimleri sorunsuz gonderildi fakat png ve zip ve rar dosyalarini gonderemedim bunun icinde bir cozum soylerseniz minnettar kalacam.
    Ayrica
    $format=array("image/png","image/gif","image/jpeg","text/plain","application/msword","application/zip","application/x-download");
    $kaynak1 = $_FILES['eklenti1']['tmp_name'];
    $isim1 = $_FILES['eklenti1']['name']; 
    $kaynak2 = $_FILES['eklenti2']['tmp_name'];
    $isim2 = $_FILES['eklenti2']['name'];
    $kaynak3 = $_FILES['eklenti3']['tmp_name'];
    $isim3 = $_FILES['eklenti3']['name'];
    $dizin="../mail";
    $yeni_isim="attach";
    function kontrol($kaynak1) { 
    $format=array("image/png","image/gif","image/jpeg","text/plain","application/msword","application/zip","application/x-download");  
        if(!empty($_FILES['$ad']['tmp_name']; )) {  
    if (in_array ($_FILES['$ad']['type'], $format))  
    {  
    $dosya = $dizin . "/".$_FILES['$ad']['name'];  
    if (move_uploaded_file ($_FILES['$ad']['tmp_name'], $dosya))  
            { echo"-";} else {echo"Dosya ".$ad." Yüklenemedi.";exit;}  
        } else {echo"Desteklenmeyen Format ".$ad; exit;}  
        } 
    }  
    		function kontrol($kaynak2) { 
    $format=array("image/png","image/gif","image/jpeg","text/plain","application/msword","application/zip","application/x-download");  
        if(!empty($_FILES['$ad']['tmp_name']; )) {  
    if (in_array ($_FILES['$ad']['type'], $format))  
    {  
    $dosya = $dizin . "/".$_FILES['$ad']['name'];  
    if (move_uploaded_file ($_FILES['$ad']['tmp_name'], $dosya))  
            { echo"-";} else {echo"Dosya ".$ad." Yüklenemedi.";exit;}  
        } else {echo"Desteklenmeyen Format ".$ad; exit;}  
        } 
    }  
    		function kontrol($kaynak3) { 
    $format=array("image/png","image/gif","image/jpeg","text/plain","application/msword","application/zip","application/x-download");  
        if(!empty($_FILES['$ad']['tmp_name']; )) {  
    if (in_array ($_FILES['$ad']['type'], $format))  
    {  
    $dosya = $dizin . "/".$_FILES['$ad']['name'];  
    if (move_uploaded_file ($_FILES['$ad']['tmp_name'], $dosya))  
            { echo"-";} else {echo"Dosya ".$ad." Yüklenemedi.";exit;}  
        } else {echo"Desteklenmeyen Format ".$ad; exit;}  
        } 
    }
    seklinde ic sunucu hatasi 500 ortaya cikiyor bunun icinde ayrica tesekkurler...
  • 10-09-2008, 23:07:29
    #4
    application/x-compressed => zip ve rar için ekle
    rardan emin değilim olmazsa bunu ekleyerek bir dene; application/x-rar
    png bu haliyle olması gerek onun için başka birşey diyemeyeceğim.
    Sanırım fonksiyon kullanmayı bilmiyorsun. Senin için yazdığım fonksiyonun şu şekilde kullanabilirsin;
    function kontrol($ad) { 
    $format=array("image/png","image/gif","image/jpeg","text/plain","application/msword","application/zip","application/x-download");  
        if(!empty($_FILES['$ad']['tmp_name']; )) {  
    if (in_array ($_FILES['$ad']['type'], $format))  
    {  
    $dosya = $dizin . "/".$_FILES['$ad']['name'];  
    if (move_uploaded_file ($_FILES['$ad']['tmp_name'], $dosya))  
            { echo"-";} else {echo"Dosya ".$ad." Yüklenemedi.";exit;}  
        } else {echo"Desteklenmeyen Format ".$ad; exit;}  
        } 
    }  
    kontrol('eklenti1');
    kontrol('eklenti2');
    kontrol('eklenti3');
    Bu kadar kısa ve öz


    edit: olmazsa bunları da deneyebilirsin rar için;
    application/rar
    application/x-compressed
    application/x-rar
    application/x-rar-compressed
    application/x-rar-compressed
    compressed/rar
  • 11-09-2008, 00:40:36
    #5
    hocam cok tesekkurler .... artik biraz kendimi kasmam gerekecek
  • 11-09-2008, 03:43:14
    #6
    cok calistim denemeler yaptim sizin function kodunuzu nereye atacagimi anlayamadim ,eger vaktiniz varsa ilgilenirseniz ve bana kisaca anlatirsaniz inanin halledecem tesekkurler...

    ayrica...

    benim kodlarima sizin

    application/x-compressed =>
    application/rar
    application/x-compressed
    application/x-rar
    application/x-rar-compressed
    application/x-rar-compressed
    compressed/rar

    hepsini yazdim olmadi ama sizin function kodunuzda olacagina inaniyorum manuel anlatirsaniz cok sevinecem tesekkurler
  • 11-09-2008, 10:43:27
    #7
    Şu anda kodları deneyemiyorum, birkaç gün sonra kendi bilgisayarıma kavuştuğumda ancak cevap yazabilirim, üzgünüm.
  • 11-09-2008, 23:08:51
    #8
    forumxtr adlı üyeden alıntı: mesajı görüntüle
    Şu anda kodları deneyemiyorum, birkaç gün sonra kendi bilgisayarıma kavuştuğumda ancak cevap yazabilirim, üzgünüm.
    ok. hocam sorun degil musaid oldugunuzda ilgilenirsiniz