2

ファイルのアップロードに問題があります。ファイルをローカル サーバーに送信しようとすると、POST の応答として "301 Moved Permanently" が表示されます。アップロード ディレクトリにファイルは作成されません。以下は index.php と upload.html のコードです。$base_url は localhost/testpage を指します

[index.php]

$app->get('/upload/', function() use ($app) {
    global $base_url;
    return $app->render('upload.html', array('base_url' => $base_url));
});

$app->post('/upload/', function() use ($app) {
    $imagename = $_FILES['image']['name'];
    $unique_id = md5(uniqid(rand(), true));
    $filetype = strrchr($imgname, '.');
    $new_upload = 'upload' . $unique_id . $filetype;
    move_uploaded_file($_FILES['image']['tmp_name'], $new_upload);
    //$the_upload = copy($_FILES['image']['tmp_name'], $new_upload);
    //@chmod($new_upload, 0777);
    $app->redirect('/');
})

[アップロード.html]

<html>
  <body>
    <form action="{{base_url}}/upload" method="POST">
        <input type="file" name="photo" value="" id="image" />
        <input type="submit" value="Upload image" />
    </form>
  </body>
4

1 に答える 1

0

「画像」ではなく、$_FILES配列で「写真」を参照する必要があります。input タグの id フィールドはフォーム データでは送信されず、ブラウザでのみ使用されます。

于 2014-03-16T09:55:36.313 に答える