【发布时间】:2014-07-07 09:22:39
【问题描述】:
我已经使用 php 制作了一个小型图像上传系统,它工作正常,但现在当我尝试在特定文件夹中上传图片时,它会出错并仅在根文件夹中上传图像。
php代码是:
<?php
//checking if the user already has a directory or not.
if($r['directory']==0){
$query= "UPDATE user SET directory='1' where id='".$_SESSION['sess_id']."'";
mysqli_query($dbconn,$query);
$path='../akshay/work/'.$r['username'];
mkdir($path) or die("unable to create folder");
} if(isset($_POST['submit'])&& $r['directory']==1){
//uploading users work.
$path='../akshay/work/'.$r['username'];
$name=$_FILES['work']['name'];
$size=$_FILES['work']['size'];
$type=$_FILES['work']['type'];
$tmp_name=$_FILES['work']['tmp_name'];
$extension=strtolower(substr($name,strpos($name,'.') + 1));
//checking if the user has selected a file or not.
if(isset($name)){
if(!empty($name)){
//checking if the uploaded file is an image or not.
if($extension=='jpg'||$extension=='jpeg'&& $type=='image/jpeg'){
$location=$path;
if(move_uploaded_file($tmp_name,$location.$name)){
echo'uploaded succesfully';
}else{
echo'<p style=color:red;>please choose a file</p>';
}
} else {
echo'<p style=color:red;>format of the file must be jpg/jpeg</p>';
}
}
}
}
?>
我认为问题出在 move_uploaded_file() 函数中。请帮我解决这个问题,请告诉我任何其他方法(如果有的话)来做到这一点。我可以使用第一次检查创建目录。
错误是“未定义的变量:dir_name”并打印消息“上传成功”。
我对代码进行了一些编辑,现在我可以在指定位置创建一个目录,但无法在该文件夹中上传图像,而是将图像上传到“工作”文件夹中,并将用户名附加到名称后面图片。
请帮忙!!!
【问题讨论】: