Rumah > Soal Jawab > teks badan
Ini kod uploads.php
saya:
<?php ini_set('display_errors', 1); error_reporting(E_ALL); $uploads_dir = '/tmp' . DIRECTORY_SEPARATOR; $tmp_name = $_FILES["file"]["tmp_name"]; $name = basename($_FILES["file"]["name"]); echo move_uploaded_file($tmp_name, $uploads_dir . $name);
Ia kembali 1
(又名 true
),但文件不会复制到 /tmp
.
Jika saya menetapkan $uploads_dir
ke direktori lain dengan kebenaran 777, ia berfungsi.
Jika direktori sasaran salah atau tidak mempunyai kebenaran yang betul, saya mendapat mesej ralat.
/tmp
direktori sebagai kebenaran yang betul saya rasa:
$ ls -l / | grep tmp drwxrwxrwt 21 root root 20480 apr 21 17:39 tmp
Jadi mengapa ia kembali true
tetapi tidak menyalin apa-apa?
P粉1292756582024-04-02 09:30:40
Jika direktori tmp anda ditukar pada tahap yang sama dengan fail uploads.php:
$uploads_dir = '/tmp' . DIRECTORY_SEPARATOR;
Untuk ini:
$uploads_dir = __DIR__ . '/tmp' . DIRECTORY_SEPARATOR;
atau jika folder berada di peringkat akar (aka / ) Anda perlu turun ke tahap yang sama, contohnya:
$uploads_dir = __DIR__ . '/../../tmp' . DIRECTORY_SEPARATOR;
Semoga ia membantu anda.