欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

php iframe 圖片上傳

趙雅婷1年前7瀏覽0評論
PHP是一種常用的服務器端腳本語言,在網站開發中有廣泛的應用。其中,iframe是一種常見的網頁設計元素之一,可以用于在頁面中嵌入另一個頁面或文檔。在這篇文章中,我們將討論如何使用PHP和iframe實現圖片上傳功能。 在使用iframe上傳圖片時,我們需要將表單的target屬性設置為iframe的名稱。這樣,在提交表單時,數據就會被發送到iframe中。例如,我們可以在頁面中嵌入一個表單和一個iframe,代碼如下:
<form action="upload.php" method="post" enctype="multipart/form-data" target="myiframe">
<input type="file" name="image">
<input type="submit" value="Upload">
</form>
<iframe name="myiframe"></iframe>
在上述代碼中,我們將表單的action屬性設置為upload.php,這是用來處理上傳圖片的PHP腳本。同時,我們還需要在表單中添加一個文件選擇框,用來選擇要上傳的圖片。最后,我們用一個submit按鈕來提交表單。同時,在頁面中也嵌入了一個name屬性為myiframe的iframe。 一旦用戶選擇了要上傳的圖片并點擊了提交按鈕,表單數據將會被發送到服務器端的upload.php腳本中。在這個腳本中,我們需要編寫一些代碼來處理上傳圖片的邏輯。以下是一個簡單的上傳圖片的PHP腳本:
<?php
if(isset($_FILES['image'])) {
$errors= array();
$file_name = $_FILES['image']['name'];
$file_size =$_FILES['image']['size'];
$file_tmp =$_FILES['image']['tmp_name'];
$file_type=$_FILES['image']['type'];
$file_ext=strtolower(end(explode('.',$_FILES['image']['name'])));
$extensions= array("jpeg","jpg","png");
if(in_array($file_ext,$extensions)=== false){
$errors[]="extension not allowed, please choose a JPEG or PNG file.";
}
if($file_size >2097152){
$errors[]='File size must be excately 2 MB';
}
if(empty($errors)==true){
move_uploaded_file($file_tmp,"images/".$file_name);
echo "Success";
}else{
print_r($errors);
}
}
?>
上述代碼中,我們首先使用isset()函數來檢查是否已經上傳了圖片。然后,我們將圖片的一些屬性(比如名稱、大小、臨時文件名、類型、擴展名等)保存到變量中,并使用in_array()函數來檢查圖片的擴展名是否為“jpeg”、“jpg”或“png”。如果擴展名不正確,我們將錯誤信息加入到$errors數組中。同樣地,我們也判斷了圖片的大小是否超過了2MB,并將錯誤信息加入$errors數組中。如果沒有錯誤,我們使用move_uploaded_file()函數來將圖片從臨時文件夾移動到指定的文件夾中(此處為images文件夾),并在頁面中輸出“Success”。 最后,我們需要在iframe中顯示上傳結果。為了實現這一點,我們可以在upload.php腳本中添加一些JavaScript代碼,在文件上傳完畢后,將結果輸出到iframe中。以下是一個簡單的JavaScript函數:
<script>
function showResult(result) {
var iframe = parent.document.getElementsByName("myiframe")[0];
var doc = iframe.contentDocument || iframe.contentWindow.document;
doc.body.innerHTML = result;
}
</script>
該函數接受一個字符串參數(即上傳結果),并將結果輸出到名為myiframe的iframe中。我們可以在PHP腳本的最后調用這個函數,并傳入上傳結果。以下是upload.php腳本中的修改后的部分代碼:
if(empty($errors)==true){
move_uploaded_file($file_tmp,"images/".$file_name);
echo "<script>showResult('Success');</script>";
}else{
$error_msg = implode("
", $errors); echo "<script>showResult('$error_msg');</script>"; }
在上述代碼中,我們使用了implode()函數將$errors數組中的錯誤信息轉換為一個字符串(每個錯誤信息用
隔開)。然后,我們使用echo語句將完整的JavaScript代碼輸出到頁面中。如果沒有錯誤,我們就輸出“Success”字符串;如果有錯誤,我們就輸出錯誤信息字符串。 總之,使用PHP和iframe可以很方便地實現圖片上傳功能。我們只需要在頁面中嵌入一個表單和一個iframe,然后在PHP腳本中處理上傳邏輯并輸出結果即可。這種方法可以避免頁面的刷新,并且可以讓用戶更加友好地上傳圖片。