Я работал с несколькими сценариями, чтобы начать загрузку файлов на мою машину для разработки. Проблема в том, что, несмотря на ожидаемую простоту этой операции, Apache, кажется, истекает время ожидания, когда я пытаюсь загрузить изображение. Для загрузки установлено значение On
, а для каталога tmp
- php.ini
.
Я попытался загрузить основное gif
из Google, изображение 8.36KB
. Это должно быть хорошо и в пределах возможностей загрузки PHP.
Вот копия сценария. Там должно быть легко исправить. В соответствии с просьбой я изменил тильду на актуальный каталог.
<?php
if (!isset($_GET['upload'])) { ?>
<form method="post" action="index.php?upload=true" enctype="multipart/form-data">
<input type="file" name="file" class="form">
<input name="submit" type="submit">
</form>
<? } else if (isset($_GET['upload']) && $_GET['upload'] == 'true') {
$url = $_FILES['file']['name'];
$move = move_uploaded_file($_FILES['file']['tmp_name'], "/Users/<username>/Sites/file.jpg");
if ($move) {
echo "Success!";
} else {
echo "Err..."
}
} ?>
Спасибо,
Dan
EDIT:
Я исправил это с помощью нескольких ответов, один из которых я отмечу.
Несколько вещей были причиной такого поведения.
Не заданы разрешения для каталога images
, чтобы пользователь _www
мог получить к нему доступ. chmod -R 777 images
, казалось, исправил это, так же как sudo chown _www images
.
Вывод формы мог повредить сам скрипт PHP. Как и предполагалось, ECHO <<< ...END
помогло, я думаю.