作者 主題: 用PHP上傳一問?  (閱讀 4339 次)

0 會員 與 1 訪客 正在閱讀本文。

fell0206

  • 活潑的大學生
  • ***
  • 文章數: 339
    • 檢視個人資料
用PHP上傳一問?
« 於: 2007-09-02 00:49 »
各位大大,以下是我從網路上的範例中所做出來的upload.php,它都可以跑,可是當我上傳完了之後....在files資料夾下...一直都是空白,也就是資料並沒有UPLOAD上去!不知為什麼會這樣!!
請各位大大指點指點!! Thank you~

<?php
echo "File Name:" . $_FILES['myfile']['name'] . "<br>";
echo "File Size:" . $_FILES['myfile']['size'] . "<br>";
echo "File Type:" . $_FILES['myfile']['type'] . "<br>";
echo "Temp Name:" . $_FILES['myfile']['tmp_name'] . "<br>";
echo "Error Code:" . $_FILES['myfile']['error'] . "<br>";

if ($_FILES['myfile']['error']>0)
{
   switch($_FILES['myfile']['error'])
   {
   case 1:die("檔案大小超出 php.ini:upload_max_filesize 限制");
   case 2:die("檔案大小超出 MAX_FILE_SIZE 限制");
   case 3:die("檔案僅被部分上傳");
   case 4:die("檔案未被上傳");
   }
}
else
{   
   if(is_uploaded_file($_FILES['myfile']['tmp_name']))
   {
   
   $DestDIR="files";
      if(!is_dir($DestDIR) || !is_writeable($DestDIR))
         die("目錄不存在或無法寫入");
      
      $File_Extension=explode(".",$_FILES['myfile']['name']);
      $File_Extension=$File_Extension[count($File_Extension)-1];
      $ServerFilename=date("YmdHis").".". $File_Extension;
      copy($_Files['myfile']['tmp_name'],$DestDIR . "/" . $ServerFilename);
      echo $DestDIR."/".$ServerFilename ;
      echo "OK7";
   }
}
?>

fell0206

  • 活潑的大學生
  • ***
  • 文章數: 339
    • 檢視個人資料
用PHP上傳一問?
« 回覆 #1 於: 2007-09-02 20:53 »
各位大大,後來我試了很久,我發現是"files"這個資料夾的權限設錯,我改成667就可以了,可是我看網路上的教學是設成666,不知為什麼會這樣??
請各位大大指點指點!! Thank you~~

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
用PHP上傳一問?
« 回覆 #2 於: 2007-09-02 21:01 »
files資料夾的擁有者是誰  :roll:

fell0206

  • 活潑的大學生
  • ***
  • 文章數: 339
    • 檢視個人資料
用PHP上傳一問?
« 回覆 #3 於: 2007-09-02 22:21 »
感謝大大的指點!!
files資料夾的擁有者是我自己!
請大大在指點指點!! Thank you~

Yamaka

  • 俺是博士!
  • *****
  • 文章數: 4913
    • 檢視個人資料
    • http://www.ecmagic.com
用PHP上傳一問?
« 回覆 #4 於: 2007-09-02 23:21 »
那就是啊~~

上傳檔案存檔者是 apache, 或是 nobody.....,

總之不會是你自己用的那個帳號, 所以 apache 無法寫入!!

ricky

  • 區域板主
  • 鑽研的研究生
  • *****
  • 文章數: 669
    • 檢視個人資料
    • Ricky 碎碎唸
用PHP上傳一問?
« 回覆 #5 於: 2007-09-03 08:56 »
引述: "fell0206"
各位大大,後來我試了很久,我發現是"files"這個資料夾的權限設錯,我改成667就可以了,可是我看網路上的教學是設成666,不知為什麼會這樣??
請各位大大指點指點!! Thank you~~

如果書上真的是這麼說
那就把這本書丟了吧
換本鳥哥的書來看看吧
http://linux.vbird.org/linux_basic/0210filepermission.php#filepermission_dir
我的symfony作品:YOMOpets 寵物誌
有興趣可以一起來討論symfony喔
我的部落格:http://ricky.ez2.us/

fell0206

  • 活潑的大學生
  • ***
  • 文章數: 339
    • 檢視個人資料
用PHP上傳一問?
« 回覆 #6 於: 2007-09-03 18:34 »
感謝各位大大的指點!!
引用
http://linux.vbird.org/linux_basic/0210filepermission.php#filepermission_dir

引用
總之不會是你自己用的那個帳號, 所以 apache 無法寫入!!

因為是透過網頁,所以"其他人"必須要有權限開啟!!所以才會設成"7"!
解決了!!! Thank you~~