簡體   English   中英

PHP / Wordpress - 未經許可777無法保存到上傳目錄

[英]PHP/Wordpress - Can't save to uploads directory without permission 777

我有使用內置wordpress功能保存附件到我的帖子的權限問題。 如果我在uploads文件夾中將我的權限設置為777 ,則以下代碼可以正常工作。 但任何其他權限,如755775給我以下錯誤:

警告 :file_put_contents(/usr/home/givakt/www/dev-2013/wp-content/uploads/2013/09/rocky.jpg)[function.file-put-contents]:無法打開流:權限被拒絕/34行的usr / home / givakt / www / dev-2013 / wp-content / themes / starkers-master / editor / save.php
DEV-2013 /的wp-content /上傳/ 2013/09 / rocky.jpg

我的php文件位於我主題的子文件夾中,可能是問題嗎? 或者是別的什么? 出於安全原因,我真的不想依賴777


$image_url = $_FILES['attachment']['tmp_name'];
$post_id = $_POST['id'];

$upload_dir = wp_upload_dir();
$image_data = file_get_contents($image_url);
$filename = $_FILES['attachment']['name'];

if (wp_mkdir_p($upload_dir['path'])) {
    $file = $upload_dir['path'] . '/' . $filename;
} else {
    $file = $upload_dir['basedir'] . '/' . $filename;
}
file_put_contents($file, $image_data);

$wp_filetype = wp_check_filetype($filename, null );
$attachment = array(
    'post_mime_type' => $wp_filetype['type'],
    'post_title' => sanitize_file_name($filename),
    'post_content' => '',
    'post_status' => 'inherit'
);

$attach_id = wp_insert_attachment( $attachment, $file, $post_id );
require_once(ABSPATH . 'wp-admin/includes/image.php');
$attach_data = wp_generate_attachment_metadata( $attach_id, $file );
wp_update_attachment_metadata( $attach_id, $attach_data );

文件夾/ usr / home / givakt / www / dev-2013 / wp-content / uploads / owner是“givakt”。

默認配置Web服務器從另一個用戶運行 - “www-data”

如果文件夾右側為0775,則另一個用戶無法寫入此文件夾。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM