gpt4 book ai didi

PHP move_uploaded_file 文件系统

转载 作者:行者123 更新时间:2023-11-30 00:08:23 24 4
gpt4 key购买 nike

大家。我在让 PHP 将文件移动到目录中时遇到问题。 mkdir 在创建目录时工作得很好,并且 mysql 表正在插入所有文件。不过,move_uploaded_file 步骤无法正常工作。

        //filestorage variables 
$uniqid = uniqid();
$folder = 'documents/' . $uniqid; //drill down further with m/d currentDate
$file = $_FILES['file'];
$i = 0;

//iterate through $_FILES array
foreach ($file as $f){
$temp = $file['tmp_name'][$i];
$name = $file['name'][$i];
$dest = $folder . '/' . $name;

//store file on server
if(!file_exists($folder)){
mkdir($folder);
chmod($folder, 0755);
}
if(isset($_FILES['file'])){
move_uploaded_file($temp, $dest);
echo "upload complete";
if(move_uploaded_file($temp, $dest)){
echo '<p> successful step </p>' . $dest;
}
}

//prepare and submit files to database
if (count($_FILES) > 0){
if(is_uploaded_file($temp)) {
echo '<p>' . "The file is, in fact, uploaded." . '</p>';
$sql = "INSERT INTO uploads (`file_dest`) VALUES ( :dest )";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':dest', $dest, PDO::PARAM_STR, strlen($dest));
$stmt->execute();
echo 'the following file was uploaded <p><img src="' . $dest . '" /></p>';
echo 'from ' . $folder . '/' . $name;
}
}
$i++;
}

我是否需要将目标名称完全限定到根级别?在使目录名称变得有点棘手后,我在某个时刻破坏了一些东西。当文件夹被称为“文档”时,这是有效的(当然,当时的代码也有点不同。

我在apache的错误日志中收到的错误消息如下:

[2014 年 6 月 19 日星期四 11:30:01] [错误] [客户端 127.0.0.1] PHP 警告:chmod() [function.chmod]:/Volumes/Secure/project/Web/Webroot/中不允许操作public_html/index.php 第 65 行,引用:MyWebpage

[2014 年 6 月 19 日星期四 11:30:01] [错误] [客户端 127.0.0.1] PHP 警告:move_uploaded_file(documents/53a310094d082/0000b.jpg) [function.move-uploaded-file]: 无法打开流:第 68 行/Volumes/Secure/project/Web/Webroot/public_html/index.php 中的权限被拒绝,引荐来源:MyWebpage

[2014 年 6 月 19 日星期四 11:30:01] [错误] [客户端 127.0.0.1] PHP 警告:move_uploaded_file() [function.move-uploaded-file]:无法移动 '/private/var/tmp/phptrm0HP' 到/Volumes/Secure/中的 'documents/53a310094d082/0000b.jpg'project/Web/Webroot/public_html/index.php 第 68 行,引用:MyWebpage

最佳答案

该问题源自在 Mac OSX 上使用外部卷。它会自动在卷上标记此选项:

忽略所有权权限

取消选中该选项后,mkdir 和类似命令可以在 Web 服务器上正常工作。

关于PHP move_uploaded_file 文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24312454/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com