为什么在服务器上php里执行file_put_contents创建文件回到是false呢,文件目录已经设置为777的权限了,不解
为什么在服务器上php里执行file_put_contents创建文件返回是false呢,文件目录已经设置为777的权限了,不解
想用file_get_contents读取网络上的图片文件并由file_put_contesnts写入到服务器本地,file_get_contesnts执行没问题,可以读取信息,然后将读出的数据$data执行:
var_dump(file_put_contents($local_file_position, $data));在测试中会显示var_dump出的信息,但最后file_put_contents返回是false,不知道为什么,在网上搜说是aparche没有写权限,是这样的吗?如果是,如何设置呢?
环境:CentOS 6.5 + MySQL5.5.35 + tomcat7.0.47
------解决方案--------------------
用的是绝对路径还是相对路径?
------解决方案--------------------
先确认file_get_contents()获取的数据是否存在,数据类型是否合法。
------解决方案--------------------
估计是权限不够
echo substr(sprintf('%o', fileperms('你的目录')), -4); //看看是什么结果
------解决方案--------------------
要求能写入的话 文件所在的目录也是需要有写的权限的
比如 /home/centos/123.txt
目录home、centos也都是需要写的权限的不只是单单123.txt需要写权限
------解决方案--------------------
file_put_contents 失败时会有明确的错误信息输出
请贴出
------解决方案--------------------
提示很清楚了,
Permission denied
拒绝访问
------解决方案--------------------
你是要把文件写到 /usr/local/www/wxtest/txt 目录中
请检查目录存在且可写
------解决方案--------------------
1. 755权限指的是 rwxr-xr-x, 同组和其他用户是没有写权限的。 777才是全部用户拥有所有权限。
2. 建议使用绝对路径,写文件前在脚本内判断路径是否存在,不存在则先创建路径(目录)再写文件,这个是血淋淋的教训。
------解决方案--------------------
把/usr/local/www/wxtest/txt设成777
------解决方案--------------------
确定是对组外用户的权限是777?

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











CentOS에서 중국어 입력을 사용하는 방법에는 fcitx 입력 방법 사용: fcitx 설치 및 활성화, 단축키 설정, 단축키를 눌러 입력 방법 전환, 병음을 입력하여 후보 단어 생성 등이 있습니다. iBus 입력 방법 사용: iBus를 설치 및 활성화하고, 단축키를 설정하고, 단축키를 눌러 입력 방법을 전환하고, 병음을 입력하여 후보 단어를 생성합니다.

CentOS 7에서 U 디스크 파일을 읽으려면 먼저 U 디스크를 연결하고 장치 이름을 확인해야 합니다. 그런 다음 다음 단계를 사용하여 파일을 읽습니다. USB 플래시 드라이브 마운트: mount /dev/sdb1 /media/sdb1("/dev/sdb1"을 실제 장치 이름으로 대체) USB 플래시 드라이브 파일 찾아보기: ls /media /sdb1; cd /media /sdb1/디렉토리;

CentOS 7의 루트 권한을 입력하는 방법은 두 가지가 있습니다. sudo 명령을 사용합니다. 터미널에 sudo su -를 입력하고 현재 사용자 비밀번호를 입력합니다. 루트 사용자로 직접 로그인: 로그인 화면에서 "기타"를 선택하고 "루트"와 루트 비밀번호를 입력합니다. 참고: 루트 권한으로 주의 깊게 작업하고, sudo 권한으로 작업을 수행하고, 루트 비밀번호를 정기적으로 변경하십시오.

scp 명령을 사용하여 네트워크 호스트 간에 파일을 안전하게 복사할 수 있습니다. 데이터 전송 및 인증을 위해 SSH를 사용합니다. 일반적인 구문은 다음과 같습니다: scpfile1user@host:/path/to/dest/scp -r/path/to/source/user@host:/path/to/dest/scp 파일 제외 scp 명령을 사용할 때는 할 수 없을 것 같습니다 파일을 필터링하거나 제외합니다. 그러나 파일을 제외하고 SSH를 사용하여 안전하게 복사하는 좋은 해결 방법이 있습니다. 이 페이지에서는 scp를 사용하여 디렉터리를 반복적으로 복사할 때 파일을 필터링하거나 제외하는 방법을 설명합니다. rsync 명령을 사용하여 파일을 제외하는 방법 구문은 다음과 같습니다: rsyncav-essh-

잊어버린 CentOS 비밀번호에 대한 해결 방법은 다음과 같습니다. 단일 사용자 모드: 단일 사용자 모드로 들어가서 passwd root를 사용하여 비밀번호를 재설정합니다. 복구 모드: CentOS Live CD/USB에서 부팅하고 루트 파티션을 마운트하고 비밀번호를 재설정합니다. 원격 액세스: SSH를 사용하여 원격으로 연결하고 sudo passwd root로 비밀번호를 재설정합니다.

CentOS 7은 기본적으로 루트 권한을 비활성화합니다. 다음 단계에 따라 활성화할 수 있습니다. 임시 활성화: 터미널에 "su root"를 입력하고 루트 비밀번호를 입력합니다. 영구적으로 활성화됨: "/etc/ssh/sshd_config"를 편집하고 "PermitRootLogin no"를 "yes"로 변경한 후 SSH 서비스를 다시 시작합니다.

CentOS 7에서 루트 권한을 얻는 방법에는 여러 가지가 있습니다. 1. "su"를 사용하여 명령을 실행합니다. 2. 단일 명령을 실행하려면 "sudo"를 사용하십시오. 3. 루트 사용자를 활성화하고 비밀번호를 설정합니다. 참고: 루트 권한을 사용할 때는 시스템이 손상될 수 있으므로 주의하십시오.

CentOS에서 루트 권한으로 작업을 수행하는 방법에는 두 가지가 있습니다. 1) sudo 명령을 사용하여 일시적으로 루트 권한을 얻습니다. 2) 루트 사용자 비밀번호를 사용하여 직접 로그인합니다. 루트 권한을 사용할 때는 각별히 주의해야 하며 필요한 경우에만 사용하는 것이 좋습니다.
