【发布时间】:2016-04-28 01:00:59
【问题描述】:
对于我的网站,我有一个PHP图片文件上传系统,以便用户可以上传自己的图片。这些图片存储在/images/,我已将其文件权限更改为777。当我测试上传文件时,它可以工作,但文件只保留.jpg 扩展名而不是前缀:
<?php
$name= 'filename';
$newname= '/images/'. $name. '.jpg';
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'])));
$expensions= array("jpeg","jpg","png");
if(in_array($file_ext,$expensions)=== 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){
rename($file_tmp, $newname);
echo "Success";
}else{
print_r($errors);
}
}
?>
<form action="" method="POST" enctype="multipart/form-data">
<input type="file" name="image" />
<input type="submit"/>
</form>`
【问题讨论】:
-
阅读
rename()php.net/manual/en/function.rename.php 上的手册并查看User Contributed Notes 下的第一个示例。 -
您也标记为
ftp,但在这里看不到相关性。
标签: php html file-upload ftp