亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

文件不是通過HTTP POST方式上傳來的??! 老師我也遇到這個問題,青幫我看看代碼,謝謝!

<?php?
header("content-type:text/html;charset=utf-8");
//$_FILES
//print_r($_FILES);
$filename=$_FILES['myFile']['name'];
$type=$_FILES['myFile']['type'];
$tmp_name=$_FILES['myFile']['tmp_name'];
$error=$_FILES['myFile']['error'];
$size=$_FILES['myFile']['size'];
//判斷下錯誤
if($error==UPLOAD_ERR_OK){?//或者用$error==0?也可以就是指沒有錯誤
//需要判斷一下文件是否是通過HTTP?POST方式上傳
//is_uploaded_file($filename);
$destination="uploads/".$filename;
if(is_uploaded_file($filename)){
if(move_uploaded_file($tmp_name,?$destination)){
$mes="文件上傳成功";
}else{
$mes="文件上傳失敗";
}
}else{
$mes="文件不是通過HTTP?POST方式上傳來的";
}
}else{
switch?($error){
case?1:
???$mes="超過了配置文件上傳文件限定的大小";
???//UPLOAD_ERR_FORM_SIZE
???break;
case?2:
$mes="超過表單設置上傳文件限制大小";
//UPLOAD_ERR_FORM_SIZE
???break;
case?3:
$mes="文件部分被上傳";
//UPLOAD_ERR_PARTIAL
break;
case?4:
$mes="沒有選擇上傳文件";//UPLOAD_ERR_NO_FILE
break;
case?6:
$mes="沒有找到臨時目錄";//UPLOAD_ERR_NO_TMP_DIR
break;
case?7:
$mes="文件不可寫";//UPLOAD_ERR_CANT_WRITE
break;
case?8:
$mes="由于PHP擴展程序中斷了文件上傳";//UPLOAD_ERR_EXTENSION
break;
}
}
echo?$mes;
//服務器端進行的配置
//1》file_uploads?=?On,支持通過HTTP?POST方式上傳文件
//2》upload_tmp_dir?=?"d:/wamp/tmp"?臨時文件保存目錄
//3》upload_max_filesize?=?2M?上傳文件的最大大小
//4》post_max_size?=?8M?表單以POST發送數據的最大值
//客戶端進行配置
//?<input?type="hidden"?name="MAX_FILE_SIZE"?value="1024"/>

正在回答

3 回答

if(is_uploaded_file($filename))修改成if(!is_uploaded_file($filename))試試

0 回復 有任何疑惑可以回復我~
#1

游泳 提問者

非常感謝!通過你的指點,上傳成功了
2014-12-22 回復 有任何疑惑可以回復我~

判斷的是存在服務器上的臨時文件,你判斷錯啦

^-^...

1 回復 有任何疑惑可以回復我~
#1

游泳 提問者

老師這個回復才是最佳答案?。「兄x!
2014-12-27 回復 有任何疑惑可以回復我~

文件不是通過HTTP POST方式上傳來的?。?老師我也遇到這個問題,青幫我看看代碼,謝謝!

<?php

header("content-type:text/html;charset=utf-8");

//$_FILES

$filename = $_FILES['myFile']['name'];

$type = $_FILES['myFile']['type'];

$tmp_name = $_FILES['myFile']['tmp_name'];

$error = $_FILES['myFile']['error'];

$size = $_FILES['myFile']['size'];

//判斷錯誤信息


if($error == UPLOAD_ERR_OK) {

? ? $destination = "uploads/".$filename;

? ? if(is_uploaded_file($tmp_name)) {

? ? ? ? if(move_uploaded_file($tmp_name, $destination)) {

? ? ? ? ? ? $mes = "文件上傳成功!";

? ? ? ? }else {

? ? ? ? ? ? $mes = "文件移動失??!";

? ? ? ? }

? ? }else {

? ? ? ? $mes = "文件不是通過HTTP POST方式上傳上來的";

? ? }

}else {

? ? switch ($error){

? ? ? ? case 1:

? ? ? ? ? ? $mes = "超過了配置文件上傳大小";

? ? ? ? ? ? break;

? ? ? ? case 2:

? ? ? ? ? ? $mes = "超過了表單設置上傳文件大小";

? ? ? ? ? ? break;

? ? ? ? case 3:

? ? ? ? ? ? $mes = "文件部分被上傳";

? ? ? ? ? ? break;

? ? ? ? case 4:

? ? ? ? ? ? $mes = "沒有文件上傳";

? ? ? ? ? ? break;

? ? ? ? case 6:

? ? ? ? ? ? $mes = "沒有找到臨時目錄";

? ? ? ? ? ? break;

? ? ? ? case 7:

? ? ? ? ? ? $mes = "文件不可寫";

? ? ? ? ? ? break;

? ? ? ? case 8:

? ? ? ? ? ? $mes = "由于PHP擴展程序中斷了文件上傳";

? ? ? ? ? ? break;

? ? }


}

echo $mes;


0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
手把手教你實現電商網站后臺開發
  • 參與學習       117254    人
  • 解答問題       2101    個

手把手教你用PHP搭建電子商務平臺,由淺入深教你搭建電商系統

進入課程

文件不是通過HTTP POST方式上傳來的?。?老師我也遇到這個問題,青幫我看看代碼,謝謝!

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號