Php 如何将图像上载到刚创建的目录/子文件夹
下面的代码允许在“albums”目录中命名和创建一个新文件夹,还可以上载同一目录中的图像。你能告诉我如何在我创建的新子文件夹中直接上传图像吗。 表格如下:Php 如何将图像上载到刚创建的目录/子文件夹,php,file-upload,subdirectory,Php,File Upload,Subdirectory,下面的代码允许在“albums”目录中命名和创建一个新文件夹,还可以上载同一目录中的图像。你能告诉我如何在我创建的新子文件夹中直接上传图像吗。 表格如下: <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST" enctype="multipart/form-data"> Album name : <input type="text" name="textfield"
<form action="<?php echo $_SERVER['PHP_SELF']; ?>"
method="POST" enctype="multipart/form-data">
Album name : <input type="text" name="textfield" id="textfield">
Upload image: <input type="file" name="fileup" /><br/>
<input type="submit" name="button" id="button" value="Augsupieladet">
</form>
在PHP中,您不能“直接”选择文件上载到的位置。您要做的是将上载的文件“移动”到正确的位置
<?php
$get_folder = $_POST['textfield'];
// you should clean this..
$uploadpath = "./albums/" . $get_folder.'/';
mkdir ($uploadpath, 0777);
echo "Album created successfully";
// remove the line below. variable was set previously
//$uploadpath = ("./albums");
$max_size = 2000;
$allowtype = array('bmp', 'gif', 'jpg', 'jpe', 'png', 'jpeg');
if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {
$uploadpath = $uploadpath . basename( $_FILES['fileup']['name']);
$sepext = explode('.', strtolower($_FILES['fileup']['name']));
$type = end($sepext);
$err = '';
if(!in_array($type, $allowtype))
$err .= 'Fails: <b>'. $_FILES['fileup']['name']. 'incorrect file type.';
if($_FILES['fileup']['size'] > $max_size*1000)
$err .= 'Max size of image: '. $max_size. ' KB.';
if($err == '') {
if(move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) {
echo 'Image: <b>'. basename( $_FILES['fileup']['name']). '</b> Upload succesful:';
}
else echo '<b>Upload unsuccesful.</b>';
}
else echo $err;
}
?>
在PHP中,您不能“直接”选择文件上载到的位置。您要做的是将上载的文件“移动”到正确的位置
<?php
$get_folder = $_POST['textfield'];
// you should clean this..
$uploadpath = "./albums/" . $get_folder.'/';
mkdir ($uploadpath, 0777);
echo "Album created successfully";
// remove the line below. variable was set previously
//$uploadpath = ("./albums");
$max_size = 2000;
$allowtype = array('bmp', 'gif', 'jpg', 'jpe', 'png', 'jpeg');
if(isset($_FILES['fileup']) && strlen($_FILES['fileup']['name']) > 1) {
$uploadpath = $uploadpath . basename( $_FILES['fileup']['name']);
$sepext = explode('.', strtolower($_FILES['fileup']['name']));
$type = end($sepext);
$err = '';
if(!in_array($type, $allowtype))
$err .= 'Fails: <b>'. $_FILES['fileup']['name']. 'incorrect file type.';
if($_FILES['fileup']['size'] > $max_size*1000)
$err .= 'Max size of image: '. $max_size. ' KB.';
if($err == '') {
if(move_uploaded_file($_FILES['fileup']['tmp_name'], $uploadpath)) {
echo 'Image: <b>'. basename( $_FILES['fileup']['name']). '</b> Upload succesful:';
}
else echo '<b>Upload unsuccesful.</b>';
}
else echo $err;
}
?>
Wow!让用户键入文件夹时要小心:。/../../../lols
我应该添加一个变量,您可以将路径存储在变量中:$path='./albums/'$获取文件夹代码>您可以稍后在脚本中使用它只需将$get\u文件夹添加到$upload\u路径?哇!让用户键入文件夹时要小心:。/../../../lols
我应该添加一个变量,您可以将路径存储在变量中:$path='./albums/'$获取文件夹代码>您可以稍后在脚本中使用它只需将$get_文件夹添加到$upload_路径?图像仍在“albums”目录中,现在它会将创建的新子文件夹名称添加到上载图像名称的开头:/我更新了代码示例$uploadpath=“./albums/”$获取_文件夹。“/”代码>图像仍在“albums”目录中,现在它将创建的新子文件夹的名称添加到上载图像名称的开头:/我更新了代码示例$uploadpath=“./albums/”$获取_文件夹。“/”代码>