いくつかのスクリプトを使用して、開発マシンにファイルのアップロードを開始しました。問題は、この操作の予想される容易さにもかかわらず、画像をアップロードしようとすると、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..."
}
} ?>
ありがとう、ダン
編集:
いくつかの答えの助けを借りて、私はそれを修正しました。そのうちの1つにマークを付けます。
ここでいくつかのことがこの動作を引き起こしていました。
ディレクトリに対するアクセス許可は、ユーザー
images
がディレクトリにアクセスできるように設定されていませんでした。と同様に、それを修正したよう_www
です。chmod -R 777 images
sudo chown _www images
フォームの出力により、PHPスクリプト自体が破損している可能性があります。提案されたように
ECHO <<< ...END
、私は助けたと思います。