mkdir: 无法创建目录"./input": 权限不够
时间: 2023-11-13 22:28:21 浏览: 317
这个错误提示表明你没有足够的权限在当前目录下创建名为 "input" 的文件夹。你可以通过以下方法解决这个问题:
1. 检查当前用户是否有权限在此目录下创建文件夹。你可以使用命令 "ls -ld ." 来查看当前目录的权限信息。如果输出中没有你的用户名,说明你没有权限。
2. 使用管理员账户或者 root 账户运行此命令。在命令前添加 "sudo" 或者切换到 root 账户再执行命令即可。
3. 尝试在其他目录下创建文件夹,比如在用户主目录下创建文件夹。命令为 "mkdir ~/input"。
希望这些方法可以帮助你解决问题。
相关问题
Input path does not exist: hdfs://hadoopnn10:9000/user/hadoop/MatrixMultiplication
这个错误提示是说你要访问的 HDFS 路径不存在。可能的原因是路径拼写错误、目录不存在或者没有权限访问该路径。
你可以通过以下步骤来排查错误:
1. 检查路径是否拼写正确,可以使用 `hdfs dfs -ls` 命令来查看路径下的文件列表。
2. 如果路径不存在,可以使用 `hdfs dfs -mkdir` 命令来创建目录。
3. 如果你没有权限访问该路径,可以使用 `hdfs dfs -chmod` 命令来修改权限。
希望这些信息能帮助你解决问题。
php一句话实现文件批量创建目录上传
### 回答1:
可以使用PHP的mkdir()函数来创建目录,使用move_uploaded_file()函数来上传文件。
以下是实现文件批量创建目录上传的PHP代码:
```php
<?php
// 指定上传目录
$uploadDir = 'uploads/';
// 获取所有上传的文件
$files = $_FILES['file'];
// 遍历每个文件
foreach ($files['name'] as $key => $fileName) {
// 获取临时文件路径
$tmpFilePath = $files['tmp_name'][$key];
// 检查目录是否存在,不存在则创建
$newDir = $uploadDir . $fileName . '/'; // 以文件名创建目录
if (!is_dir($newDir)) {
mkdir($newDir, 0755, true);
}
// 上传文件到目标目录
if (move_uploaded_file($tmpFilePath, $newDir . $fileName)) {
echo "{$fileName} 上传成功!";
} else {
echo "{$fileName} 上传失败!";
}
}
?>
```
以上代码会通过HTML的表单中的文件输入字段(name为`file`)接收文件,并将文件保存在指定目录中,同时将文件名作为子目录。如上传文件名为`image.jpg`,则会在`uploads/`目录下创建`image.jpg`目录,并将`image.jpg`文件保存在此目录中。
这段代码实现了文件的批量创建目录上传功能,每次上传的文件将会存储在以文件名命名的子目录中。当然,你也可以根据需要修改路径和文件名规则。
### 回答2:
PHP一句话实现文件批量创建目录上传的方法如下:
首先,我们需要使用一个HTML表单来上传文件。在表单中,我们需要一个文件输入字段和一个提交按钮。代码如下:
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="上传">
</form>
接下来,我们需要创建一个处理上传文件的PHP脚本 upload.php。在脚本中,我们将实现文件批量创建目录并将上传的文件保存到相应目录的功能。代码如下:
<?php
if(isset($_FILES['files'])){
$files = $_FILES['files'];
$targetDir = 'uploads/';
$numFiles = count($files['name']);
for($i=0; $i<$numFiles; $i++){
$fileName = $files['name'][$i];
$fileTmp = $files['tmp_name'][$i];
$filePath = $targetDir . $fileName;
// 创建目录
if(!file_exists($targetDir)){
mkdir($targetDir, 0777, true);
}
// 保存文件
move_uploaded_file($fileTmp, $filePath);
}
echo "文件上传成功!";
}
?>
在这个脚本中,我们首先检查是否有上传的文件。如果有,我们将文件数组$_FILES['files']赋给变量$files。接下来,我们指定目标目录为'uploads/',并获取上传的文件数量。然后,我们使用一个循环来遍历每个文件,获取文件名和临时文件路径。在循环中,我们首先检查目标目录是否存在,如果不存在,则使用mkdir函数创建目录。接下来,我们使用move_uploaded_file函数将临时文件移动到目标目录。在所有文件都上传完毕后,我们输出一个提示信息。
以上就是使用一句话实现文件批量创建目录上传的PHP代码。在以上代码中,我们将上传后的文件保存在名为'uploads/'的目录中,如果需要更改目标目录,只需要修改$targetDir变量即可。
### 回答3:
PHP一句话实现文件批量创建目录上传是指使用一行PHP代码来实现创建多个目录并将文件上传到这些目录中。下面是一个示例代码:
```
<?php
mkdir('dir1/dir2', 0777, true); // 创建目录dir1/dir2
file_put_contents('dir1/dir2/file.txt', 'Hello World'); // 在目录dir1/dir2中创建文件file.txt并写入内容
echo '文件上传成功!';
?>
```
上述代码中,首先使用`mkdir`函数创建了一个名为`dir1/dir2`的目录,并设置权限为`0777`,同时设置了`true`参数表示如果目录不存在则递归创建目录。
接着使用`file_put_contents`函数在创建的目录`dir1/dir2`中创建了一个名为`file.txt`的文件,并将内容设置为`Hello World`。
最后,使用`echo`输出了一个提示信息表示文件上传成功。
需要注意的是,这只是一个简单的示例,实际情况下可能需要根据你的需求进行适当的修改和调整。