yardım ...!

2 Cevap php

öylesine i üzerinde herhangi bir yardım alamadım gibi Uploadify kullanarak karşı karar verdi. Şimdi basit bir çözümü uygulamak için çalışıyorum. ama ne yazık ki ben şu hatayı almadan tek bir sayfada yükleme kodunu işlemek için görünmüyor olabilir:

Warning: fopen() [function.fopen]: Filename cannot be empty in C:\xampp\htdocs\speedycms\manageclient.php on line 205

Warning: fread() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\speedycms\manageclient.php on line 206

Warning: fclose() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\speedycms\manageclient.php on line 208 Error, query failed

Bu işe almak için çalışıyor ettik kodu ... Eğer tek bir sayfa üzerinde çalışmaya almak yerine ayrı ajax (o çok aşina im değil) ikiye içine kadar bölme herhangi bir araç önerebilirsiniz. .. onun tek bir sayfada tüm

Herhangi bir yardım mutluluk duyacağız!

         <!-- upload file --->

             <?php
                     if (array_key_exists('uploadfile',$_POST)) {
    $fileName = $_FILES['userfile']['name'];
    $tmpName  = $_FILES['userfile']['tmp_name'];
    $fileSize = $_FILES['userfile']['size'];
    $fileType = $_FILES['userfile']['type'];

    $fp      = fopen($tmpName, 'r');
    $content = fread($fp, filesize($tmpName));
    $content = addslashes($content);
    fclose($fp);

    if(!get_magic_quotes_gpc())
    {
        $fileName = addslashes($fileName);
    }

    $uploadQry = "INSERT INTO upload (name, size, type, content ) ".
    "VALUES ('$fileName', '$fileSize', '$fileType', '$content')";

    mysql_query($uploadQry) or die('Error, query failed'); 

    echo "<br>File $fileName uploaded<br>";
    exit;
                     }
    ?>

<form method="post" action="<?php echo $_SERVER['PHP_SELF'] . '?id=' . intval($client_id); ?>">
    <p>
         <b>File Upload</b></p>
    <p>
<input type="hidden" name="MAX_FILE_SIZE" value="2000000">
<input name="userfile" type="file" id="userfile"><BR />
               <input type="hidden" name="uploadfile" value="1"/> 
<input name="upload" type="submit" id="upload" value=" Upload ">
    </p>
    <p>      <a href="#viewFiles" class="form" rel="facebox">View files</a>

    </p>
    <div id="viewFiles" style="display:none;" rel="facebox"> 
      <div style="width:300px; height: 300px;"></div></div></form>

2 Cevap

Sen set the correct encoding of your form dosya yüklemeleri etkinleştirmeniz gerekir:

<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    ...
</form>

Edit: Filename cannot be empty Eğer fopen ilk çağrıda dosya adı belirtilmedi olduğunu söylüyorum - Eğer {[atanan bu yöntemle, dolar tmpName içinde geçiyoruz (2)]}.

I $_FILES['userfile']['tmp_name'] boş olduğu için aklınıza gelebilecek tek nedeni aslında bir dosya yüklememiş olduğunu?

Hata mesajı diyor ki içinde

$fp      = fopen($tmpName, 'r');

$ TmpName boş (veya null) 'dir.

Ne var görmek için $ HTTP_POST_FILES bakmayı deneyin:

print serialize($_FILES);