promotion image of download ymail app
Promoted
jj 發問時間: 電腦與網際網路程式設計 · 1 0 年前

t35無法用php寫的程式上傳檔案嗎?

因為無法打開t35主機的資料夾權限,使得底下的php語法無法上傳,有解決的辦法嗎?

If($userfile!="none")

{

echo"upload:"."$userfile_name";

copy($userfile,"$userfile_name");

move_uploaded_file($userfile,"$userfile_name");

echo" ($userfile_name)檔案上傳成功 ";

}

else{echo"上傳失敗";}

已更新項目:

這是放程式的地方,可以上傳看看

http://lamanet999.t35.com/upload_pass.php

上傳後出現的訊息:

Warning: copy() [function.copy]: Unable to access in /home/freehost/t35.com/l/a/lamanet999/upload_act.php on line 11

2 個已更新項目:

您可能誤會了,您的話我都有聽,這篇文章再您未貼之前,我已有去找出來看了幾次,只不過調整程式後還是傳不成功,所以才會再問一次,雖然弄不懂程式,但是不代表就是沒在聽,不過還是要謝謝您,您已經幫了很多了,謝謝!!

3 個解答

評分
  • YOGO
    Lv 5
    1 0 年前
    最佳解答

    剛測了一下你的程式碼,我知道問題出在那了,要說你的程式碼有錯也不全對,在register_globals設訂為on的php環境下你的程式碼是對的,但php在4.3.x以後的版本register_globals預設就為off了,所以你的程式碼會有問題,你無權更動t35的php.ini中的register_globals設定,解決的方法就是改寫你的程式碼,讓他在register_globals為off的設訂下可以正常運作,這部份自己找一下資料,或看我之前回答過的問題吧!!懶的再打一次,另外你的再說一次你的問題與資料夾權限無關,

    2010-01-12 11:12:27 補充:

    自己參考一下吧!!雖然我說的話你都沒在聽,我都參考我以前的回答,連找都懶的找,自己看一下下面那篇教學吧

    【Dreamweaver 8 & PHP 網頁資料庫】:: 試閱章節 13-2 檔案上傳、錯誤判斷

    http://cttlee.cc/2005/12/105.php

    2010-01-12 14:27:12 補充:

    更正一下php是在4.2.0以後的版本register_globals預設就為off了,不是4.3.x以後的版本

    另外我好奇的是你說別的空間你的程式運作是正常的?那為什麼還要換到t35呢?另外自曝短處對事情並不會有幫助,每個人都是從初學者學起,不要拿初學者當藉口,學不學只在乎一心,其實你的程式我已經改好了我試也是可以用了,但就算我把程式給你,你也是知其然不知其所以然,所以我希望你能自己看我給你的教學,自己去改,這樣才會進步

    參考資料: 自己
    • Commenter avatar登入以對解答發表意見
  • 1 0 年前

    這是放程式的地方,可以上傳看看

    http://lamanet999.t35.com/upload_pass.php

    上傳後出現的訊息:

    Warning: copy() [function.copy]: Unable to access in /home/freehost/t35.com/l/a/lamanet999/upload_act.php on line 11

    2010-01-09 20:06:01 補充:

    完整的程式碼:

    上傳介面

    ".

    " ".

    ' '.

    ' '.

    " ".

    " ";

    2010-01-09 20:07:05 補充:

    完整的程式碼:

    上傳介面

    ".

    " ".

    ' '.

    ' '.

    " ".

    " ";

    echo"

    2010-01-09 20:12:16 補充:

    抱歉,一直失敗,再弄一次。

    完整的程式碼:

    上傳介面

    ";

    echo"上傳檔案: ";

    echo" ";

    ?>

    2010-01-09 20:13:56 補充:

    抱歉,一直失敗,再弄一次。

    完整的程式碼:

    ($userfile_name)檔案上傳成功 ";

    }

    else{

    echo"上傳失敗";

    }

    ?>

    2010-01-09 20:20:48 補充:

    實在搞不懂,一直貼不上去,沒辦法了。

    不過程式在其他的網路空間是沒問題的,試過很多次了,可以成功上傳,沒錯誤訊息,也看得到上傳的檔案,因此程式確定是沒問題的。

    只是資料夾權限被限制住了。不知有沒有其他的辦法可以在t35用此種方式上傳檔案?

    2010-01-09 22:50:28 補充:

    已經放上去了,檔名:upload.rar,裡面有兩支php,一支上傳的介面,一支是執行上傳的程式,很單純。

    2010-01-10 21:47:20 補充:

    已經把copy那行去掉,仍無法上傳

    所以又改了這樣

    If($userfile != "none")

    {

    //copy("$userfile","$userfile_name");

    if(move_uploaded_file($userfile,$userfile_name))

    {

    echo" ($userfile_name)檔案上傳成功 ";

    }

    else{echo"移動檔案失敗";}

    }

    else{

    echo"上傳失敗";

    }

    2010-01-10 21:48:27 補充:

    上傳後出現 移動檔案失敗

    當初因為copy和move_uploaded_file都失敗,所以才兩個都用的

    新檔案已壓成upload.rar,放的位置沒變

    2010-01-11 21:02:30 補充:

    意思知道了,找了很久,也照您的方法用POST,GET也改了很多次,也是沒辦法,我真的是不懂php的,只是初學者,程式碼對不對我真的不知道,可否同情一下用最少的字稍微打一下,只要能傳就好了,謝謝!!

    2010-01-12 19:36:32 補充:

    因為t35是無限空間,所以才換到t35,您給的文章在您未給之前我就找到了,並且已看過幾次了,我並非自曝短處,只是因時間比較急才這樣問,非常對不起,我調整幾次程式後確實是知其然不知其所以然,也傳不成功,所以才會再問一次的,不過還是要謝謝您的幫助,我再慢慢研究好了,再次謝謝您的幫助。

    • Commenter avatar登入以對解答發表意見
  • Sam
    Lv 6
    1 0 年前

    基本上程式本身就已經有些問題存在了。

    還不包括到你的變數來源到底是什麼東西都沒有詳細。

    若真的要說解決。

    你該貼的不是只有這一小段程式碼。

    另外你有好好的查過關於檔案上傳的資料嗎?

    你的程式碼又是怎麼來的?

    有太多的因素去影響到你程式的問題了。

    2010-01-09 10:20:17 補充:

    我說的是完整的程式碼。

    不是看他執行會出現什麼事。

    2010-01-09 20:58:33 補充:

    你把那幾隻網頁和php檔壓成壓縮檔並放進那個空間。

    我應該就有辦法載下來了。

    2010-01-10 00:38:08 補充:

    你把copy那一行拿掉試試。

    其實我比較不理解為什麼copy和move_uploaded_file要同時出現。

    事實上只要有move_uploaded_file那行就可以上傳了。

    2010-01-11 09:39:24 補充:

    如果改成這行呢?

    move_uploaded_file($_FILES["userfile"]["tmp_name"],$userfile_name);

    (我也是試了都可以,所以真的挺奇怪的,到底是權限問題?還是伺服器本身的設定有問題?你有在其他的伺服器測試過嗎?)

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。