我想製作一個用於製作新聞項目的圖像驗證腳本。由於我已經搜索了其他例子,我的PHP知識並不是很好的實現它。PHP圖像驗證腳本
HTML:
<input class="form-control contact-control" type="hidden" name="MAX_FILE_SIZE" value="1000000">
<input class="form-control contact-control" type="file" name="image" id="image">
PHP:
$news_item = $_POST['item'];
$news_date = $_POST['date'];
$news_text = $_POST['text'];
$max_file_size = 1000000;
$path = ("../../../database/img/");
$news_image = $_FILES['image']['name'];
$image_size = $_FILES['image']['size'];
$image_type = $_FILES['image']['type'];
if(!empty($news_item) && !empty($news_date) && !empty($news_text) && !empty($news_image)) {
if(($image_type == 'image/jpeg') || ($image_type == 'image/png') || ($image_type == 'image/gif') && ($image_size > 0) && ($image_size <= $max_file_size)) {
if($_FILES['file']['error'] == 0) {
$target = $path . $news_image;
if(move_uploaded_file($_FILES['image']['tpm_name'], $target)) {
$query_news = "INSERT INTO news(Item, Date_item, News_text, Photo) VALUES('".$news_item."', '".$news_date."', '".$news_text."', '".$uploaded_dir.$news_image."')";
mysql_query($query_news);
} else {
$update_news = "UPDATE news SET Item = '".$news_item."', Date_item = '".$news_date."', News_text = '".$news_text."', Photo = '".$uploaded_dir.$news_image."'";
mysql_query($update_news);
}
}
} else {
echo 'The screenshot must be a GIF, JPEG or PNG image no ' . 'less than ' . ($max_file_size/1000000) . 'mb in size.';
}
@unlink($_FILES['image']['tmp_name']);
} else {
echo 'Please enter alll of the information.';
}
沒有添加新的信息列到數據庫中,也保存沒有圖像。因爲我懷疑其中一條if語句是錯誤的。
嘗試改變這兩個' ' 「$ uploaded_dir。$ news_image。」' 去「'」。$ target。「''' –
您是否使用了表單標籤的enctype屬性
另外,'$ uploaded_dir'尚未定義。所以你也可以試試''「。$ target。$ news_image」''但是中間那個點可能會導致問題。 –