gpt4 book ai didi

php - PHP上传文件到服务器错误

转载 作者:太空宇宙 更新时间:2023-11-04 04:13:31 25 4
gpt4 key购买 nike

我正在使用 HTML 表单将文件上传到服务器,并在服务器中创建一个 TXT 文件来写入错误日志,但此过程在我的本地系统和其他服务器中运行良好,但在必须执行此操作的一台服务器中运行不佳。

错误信息:

Warning: move_uploaded_file(taskfinished/512557562_348011_RAND_488.png): failed to open stream: Permission denied in /var/www/smart_1/JSON/taskimageupload.php on line 70 

Warning: move_uploaded_file(): Unable to move '/tmp/phpz3HWEJ' to 'taskfinished/512557562_348011_RAND_488.png' in /var/www/smart_1/JSON/taskimageupload.php on line 70

Warning: fopen(errorlog/07.30.13.txt): failed to open stream: Permission denied in /var/www/smart_1/JSON/errorlog.php on line 30

Warning: fwrite() expects parameter 1 to be resource, boolean given in /var/www/smart_1/JSON/errorlog.php on line 35

Warning: fclose() expects parameter 1 to be resource, boolean given in /var/www/smart_1/JSON/errorlog.php on line 37

我关闭了安全模式,但问题仍然相同..

如何更改服务器中的用户权限?

我的 PHP 代码:

$finenamedynamic = $CompanyId."_".$ShibNo."_RAND_".rand(100,600);
//$finenamedynamic = date("Y-m-d-H_i_s")."_RAND_".rand(100,600);
//New file name with EXTENSION
$newfilename=$finenamedynamic.".".$extension;
// Upload file
$uploadedimage = $targetfilename . $newfilename;
//Move file to the new file path
if(!move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $uploadedimage)){
//Error Log
$message = "Error uploading file - check destination is writeable ". $uploadedimage;
ErrorsAreAwesome('70','taskimageupload.php','Create Directory',$message);
}

function ErrorsAreAwesome($line=null,$filename=null,$function=null,$message=null){
//Create Error file for the day
$myFile = "errorlog/".date("m.d.y").".txt";
$error_time = date("Y-m-d H:i:s");
//Construct Error
$file_write = "[".$error_time."]-->[Line:".$line."]-->[File:".$filename."]-->[Fun:".$function."]-->[Msg:".$message."]";

//if file exist appen in the file else create new file and write
if (file_exists($myFile)) {
$fh = fopen($myFile, 'a');
} else {
$fh = fopen($myFile, 'w');
}
//write in file \r\n support for this OS or \n alone work
fwrite($fh, "\r\n".$file_write."\n");
//close file after writing
fclose($fh);
}

最佳答案

如果您运行数千个测试用例,您会收到什么错误消息?

if(!is_dir('taskfinished'))
{
die("1: dir taskfinished dosn't exists\n");
}

if(!is_writable('taskfinished'))
{
die("2: dir taskfinished isn't writeable\n");
}

$file_resource = fopen('taskfinished/test.txt', 'w');
if(!$file_resource)
{
die("3: failed to open file\n");
}

if(!fwrite($file_resource, 'test'))
{
fclose($file_resource);
die("4: Failed to write to file\n");
}

fclose($file_resource);
die("All test passed\n");

对于 1,您需要创建文件夹 mkdir taskfinished
对于 2,您需要更改文件夹的所有者或权限 chown apache:apache taskfinished(CHangeOWNer 为用户 apache 和组 apache)或 chmod o+w(CHange MODE for Owner add Write)对于 3 或 4 我不知道

关于php - PHP上传文件到服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17945907/

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