Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.04.2023, 06:28   #1
New_Jersey
С нуля
Пользователь
 
Аватар для New_Jersey
 
Регистрация: 24.03.2023
Сообщений: 17
По умолчанию не получается переместить файл из одной директории в другую

Привет!
Не получается загрузить файл с помощью PHP.
В массиве файл виден:
Код:
Array ( [image] => Array ( [name] => 29264.png [full_path] => 
29264.png [type] => image/png [tmp_name] =>
 /private/var/folders/xy/4zn42ksx24z85lcrntm9tg2m0000gn/T/phpS4ebU8 [error] =>
 0 [size] => 6604 ) ) File is an image - image/png.
но выбрасываются ошибки :
Код:
Warning: move_uploaded_file(/uploads29264.png): 
Failed to open stream: Read-only file system in /Users/anton/Desktop/
php_classes/index.php on line 283

Warning: move_uploaded_file(): Unable to move "/private/var/folders/xy/4zn42ksx24z85lcrntm9tg2m0000gn/T/phpS4ebU8"
 to "/uploads29264.png" in /Users/anton/Desktop/php_classes/index.php on line 283
Sorry, there was an error uploading your file.
Сижу с макбука/ проверил файл php.ini - file_uploads = On

Как разобраться в чем проблема ?
New_Jersey вне форума Ответить с цитированием
Старый 03.04.2023, 10:58   #2
Ципихович Эндрю
Старожил
 
Регистрация: 24.01.2011
Сообщений: 3,034
По умолчанию

Цитата:
Сообщение от New_Jersey Посмотреть сообщение
с помощью PHP
Вы веткой ошиблись однако
Ципихович Эндрю вне форума Ответить с цитированием
Старый 03.04.2023, 13:13   #3
macomics
Участник клуба
 
Регистрация: 17.04.2022
Сообщений: 1,833
По умолчанию

Вы в корневую папку файл пытаетесь переместить?
Цитата:
Сообщение от New_Jersey Посмотреть сообщение
to "/uploads29264.png"
А у вас есть права для этого, если на mac это вообще возможно.
macomics вне форума Ответить с цитированием
Старый 03.04.2023, 13:30   #4
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

Цитата:
Сообщение от New_Jersey Посмотреть сообщение
Не получается загрузить файл с помощью PHP.
А где сам код?
Arigato вне форума Ответить с цитированием
Старый 03.04.2023, 16:23   #5
New_Jersey
С нуля
Пользователь
 
Аватар для New_Jersey
 
Регистрация: 24.03.2023
Сообщений: 17
По умолчанию

Arigato,

форма:
Код:
<form action="index.php" method="post" enctype="multipart/form-data">
 
    <input type="file"  id="image" name="image">
    <br><br>

    <input type="submit" value="Upload Image" name="submit">
  </form>
сам код :
Код:
<?php

print_r($_FILES);

$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["image"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));


if(isset($_POST["submit"])) {
  $check = getimagesize($_FILES["image"]["tmp_name"]);
  if($check !== false) {
    echo "File is an image - " . $check["mime"] . ".";
    $uploadOk = 1;
  } else {
    echo "File is not an image.";
    $uploadOk = 0;
  }
}

// Check if file already exists
if (file_exists($target_file)) {
  echo "Sorry, file already exists.";
  $uploadOk = 0;
}

// Check file size
if ($_FILES["image"]["size"] > 500000) {
  echo "Sorry, your file is too large.";
  $uploadOk = 0;
}

// Allow certain file formats
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
&& $imageFileType != "gif" ) {
  echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
  $uploadOk = 0;
}

// Check if $uploadOk is set to 0 by an error
if ($uploadOk == 0) {
  echo "Sorry, your file was not uploaded.";
// if everything is ok, try to upload file
} else {
  if (move_uploaded_file($_FILES["image"]["tmp_name"], $target_file)) {
    echo "The file ". htmlspecialchars( basename( $_FILES["image"]["name"])). " has been uploaded.";
  } else {
    echo "Sorry, there was an error uploading your file.";
  }
}





?>

Последний раз редактировалось New_Jersey; 03.04.2023 в 16:29.
New_Jersey вне форума Ответить с цитированием
Старый 03.04.2023, 16:59   #6
Arigato
Высокая репутация
СуперМодератор
 
Аватар для Arigato
 
Регистрация: 27.07.2008
Сообщений: 16,219
По умолчанию

А это точно данный код? Исходя из первого сообщения: [name] => 29264.png
Исходя из этого кода:
Код:
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["image"]["name"]);
Имеем: $target_file = "uploads/" . "29264.png";
То есть $target_file = "uploads/29264.png";
Но у вас в первом сообщении: "/uploads29264.png"
Одно с другим не сходится...
Arigato вне форума Ответить с цитированием
Старый 03.04.2023, 17:04   #7
New_Jersey
С нуля
Пользователь
 
Аватар для New_Jersey
 
Регистрация: 24.03.2023
Сообщений: 17
По умолчанию

Цитата:
Сообщение от Arigato Посмотреть сообщение
А это точно данный код? Исходя из первого сообщения: [name] => 29264.png
Исходя из этого кода:
Код:
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES["image"]["name"]);
Имеем: $target_file = "uploads/" . "29264.png";
То есть $target_file = "uploads/29264.png";
Но у вас в первом сообщении: "/uploads29264.png"
Одно с другим не сходится...
я поменял положение слэша. но ошибки остались

Код:
Warning: move_uploaded_file(uploads/29264.png): 
Failed to open stream: No such file or directory in /Users/anton/Desktop/php_classes/index.php on line 283

Warning: move_uploaded_file(): Unable to move "/private/var/folders/xy/4zn42ksx24z85lcrntm9tg2m0000gn/T/php5wwGnS" 
to "uploads/29264.png" in /Users/anton/Desktop/php_classes/index.php on line 283
Sorry, there was an error uploading your file.
New_Jersey вне форума Ответить с цитированием
Старый 03.04.2023, 19:51   #8
New_Jersey
С нуля
Пользователь
 
Аватар для New_Jersey
 
Регистрация: 24.03.2023
Сообщений: 17
По умолчанию

Теперь все работает

Последний раз редактировалось New_Jersey; 03.04.2023 в 20:29.
New_Jersey вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите переместить printf из одной функции в другую. MasterYod Помощь студентам 0 20.12.2016 21:59
Переместить все txt из папки в другую komra2 C# (си шарп) 2 01.04.2016 02:56
не получается копировать .mp3 файл из папки в другую папку Тёма_) C# (си шарп) 14 16.12.2013 22:54
MS SQL SERVER 2005 копирование таблицы из ОДНОЙ БД В другую или перенести все строки из одной таблицы в другую reihtmonbern БД в Delphi 4 17.07.2012 23:25
Переместить записи из одной таблицы в другую tiktak C/C++ Базы данных 1 01.07.2011 13:50