我正在嘗試檢查兩個輸入,但是當僅設置兩個輸入之一時,它應該給出 TRUE。當兩者都為空時,它應該給出錯誤。 //check if post image upload or youtube url isset $pyturl = $_POST['post_yturl']; if (isset($_FILES['post_image']) && isset($pyturl)) { if (empty($_FILES['post_image']['name']) or empty($pyturl)) { $errors = '<div class="error2">Choose a news header.</div>'; } else { //check image format $allowed = array('jpg','jpeg','gif','png'); $file_name = $_FILES['post_image']['name']; $file_extn = strtolower(end(explode('.', $file_name))); $file_temp = $_FILES['post_image']['tmp_name']; 嘗試了多種方法,但它不想按我想要的方式工作。
1 回答

一只甜甜圈
TA貢獻1836條經驗 獲得超5個贊
一種替代方案(恕我直言,更干凈)是預先進行驗證,然后在知道擁有有效數據后對其進行處理。
當您開始處理時,您還需要檢查需要處理的來源 -$_FILE與。$_POST
<?php
$isValid = true;
// Validation - if both sources are empty, validation should fail.
if (!isset($_FILES['post_image']) && !isset($_POST['post_yturl'])) {
$isValid = false;
$errors = '<div class="error2">Choose a news header.</div>';
}
... More validation if needed
if ($isValid) {
// At this point you know you have at least 1 source. Start processing.
if (isset($_FILES['post_image']) {
... do your processing
}
if (isset($_POST['post_yturl']) {
... do your processing
}
}
- 1 回答
- 0 關注
- 108 瀏覽
添加回答
舉報
0/150
提交
取消