[英]Avoid $_FILES post if radio is checked
首先:對不起我的英語,我會盡力解釋我想要的內容,但是對不起,如果我做得不好。
我正在嘗試創建一個網頁,以允許用戶將圖像上傳到服務器,該頁面具有url上傳和文件上傳,並帶有單選按鈕以選擇上傳方法。
我的問題是,當選擇url廣播時,我不知道如何禁用文件上傳,例如:
網址上傳:網頁讀取網址並使用該圖片。 文件上傳:網頁讀取文件並使用該圖片。
那就是我想要的,但是問題是當兩者都被選中時:頁面上載文件並讀取url,但是僅當選擇了url單選時。 如果選擇了文件收音機,則將忽略url。
我知道問題在於,當您按下提交按鈕時,文件被上傳,然后php服務器檢查選定的單選按鈕以及必須執行的操作。
如果選擇了URL廣播,是否有任何方式可以避免文件上傳?,這是頁面的腳本:
<?php
if ($_POST) {
if ($_POST["filesource"] === "file"){
$fileread = $_FILES["file"]["tmp_name"];
}else{
$fileread = $_POST["url"];
}
if ($fileread){
include('includes/imgresize.php');
$image = new SimpleImage();
$image->load($fileread);
$image->resize(250,400);
$image->save('picture.jpg');
echo "La imagen subida es: <br>";
echo "<img src='picture.jpg'>";
echo die;
}else{
echo "No se ha seleccionado ningún archivo.";
echo die;
}
}
?>
<script>
function setrad(radbut){
document.getElementById(radbut).checked = true;
}
</script>
<form action="" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table>
<tr><td><input type="radio" name="filesource" value="url" id="urlrad" checked>URL:</td><td><input type="text" size="64" name="url" onClick="setrad('urlrad');"></td></tr>
<tr><td><input type="radio" name="filesource" value="file" id="filerad">File:</td><td><input type="file" size="50" name="file" id="file" onClick="setrad('filerad');"/></td></tr>
</table>
<input name="Submit" type="submit" id="submit" value="Submit" />
</form>
提前致謝 :)
我建議您使用javascript進行客戶端檢查:只要切換單選按鈕,您就可以清除正確的輸入。
function setrad(radbut, input){
document.getElementById(radbut).checked = true;
document.getElementById(input).value = "";
}
這樣,您可以調用setrad
函數,例如onClick="setrad('urlrad','file');"
(請注意,輸入和廣播都應有一個ID)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.