2017-03-18 185 views
0

我想上傳一個圖像到服務器使用PHP並保存在一個目錄,然後返回圖像的URL。PHP圖像上傳

的html代碼:

<?php 
    if(isset($_POST['Save'])) 
    { 
    /*image */ 
    $traget_dir="image/"; 
    $traget_file=$traget_dir .basename($_FILES["image"]["name"]); 
    $uploadOk=1; 
    $imageFileType = pathinfo($traget_file,PATHINFO_EXTENSION); 
    $check=getimagesize($_FILES["image"]["tmp_name"]); 
    if($check !== false) { 
     echo "File is an image - " . $check["mime"] . "."; 
     $uploadOk = 1; 
    } else{ 
     echo "File is not an image."; 
     $uploadOk = 0; 
    } 
    /*end image upload*/ 
    } 
    ?> 

錯誤的上傳時間:

注意:未定義指數:圖像中

上傳圖像

<form method="post"> 
    <fieldset> 
    <div class="form-group col-md-6 col-lg-6 col-sm-12"> 
     <input type="file" class="form-control" name="image" required="required"> 
    </div> 
    <div class="form-group"> 
     <button type="submit" name="Save" class="btn btn-primary">Create</button> 
    </div> 
    </fieldset> 
</form> 

PHP代碼

秒無錯誤>

警告:和getimagesize()[function.getimagesize]:文件名不能 空在

感謝幫助和視圖。

+0

你可以顯示你的完整的PHP代碼和HTML? –

回答

2

在提交後執行此操作,並檢查條件是否像下面的代碼。 其中'SUBMIT'是您的按鈕的名稱。

if(isset($_POST['SUBMIT'])) 
{ 
/*image */ 
$traget_dir="image/"; 
$traget_file=$traget_dir .basename($_FILES["image"]["name"]); 
$uploadOk=1; 
$imageFileType = pathinfo($traget_file,PATHINFO_EXTENSION); 
$check=getimagesize($_FILES["image"]["tmp_name"]); 
if($check !== false) { 
    echo "File is an image - " . $check["mime"] . "."; 
    $uploadOk = 1; 
} else{ 
    echo "File is not an image."; 
    $uploadOk = 0; 
} 
/*end image upload*/ 
} 
+0

謝謝,約翰,但同樣的錯誤 – Ankit

+0

@Ankit你能提供你的完整代碼嗎? –

+0

你必須在你的表格中添加這個'enctype =「multipart/form-data」' –

0

你需要告訴表單,它也將上傳文件。

您可以通過使用enctype=multipart/form-data

所以做到這一點,你的表格應該是這樣的:

<form method="post" enctype="multipart/form-data"> 
    <fieldset> 
    <div class="form-group col-md-6 col-lg-6 col-sm-12"> 
     <input type="file" class="form-control" name="image" required="required"> 
    </div> 
    <div class="form-group"> 
     <button type="submit" name="Save" class="btn btn-primary">Create</button> 
    </div> 
    </fieldset> 
</form> 
0

更換這個`

<form method="post"> 

與此

<form method="post" enctype="multipart/form-data"> 

和ÿ ou都很好去:)