以HTML格式上传2张图片

时间:2017-04-07 14:37:54

标签: php html

我正在尝试上传2张图片作为HTML表单的一部分。现在我的PHP脚本依赖于相同元素的名称,这样我就可以重用两个图像的代码,而不必只改变一个元素。

rasen.addEventListener(MouseEvent.CLICK, f2_MouseOverHandler); function f2_MouseOverHandler(event:MouseEvent):void { CHARA.gotoAndPlay(46); //here is the problem // add an ENTER_FRAME handler to check every frame CHARA.addEventListener(Event.ENTER_FRAME, chara_EnterFrameHandler) } function chara_EnterFrameHandler(event:Event):void { if (CHARA.currentFrame == 80) { CHARA.x = ally[1]; //just random possition for now // remove the ENTER_FRAME after the condition is met // so it stops executing each frame CHARA.removeEventListener(Event.ENTER_FRAME, chara_EnterFrameHandler); } }

upload.php

我的HTML表单:

<?php
define("IMAGE_DIRECTORY", "images");

uploadFile("file");
uploadFile("file_1");

function uploadFile($name) {
    //If the directory for images does not exist, create it
    if(!is_dir(IMAGE_DIRECTORY)) {
        mkdir(IMAGE_DIRECTORY, 0777, true);
    }

    var_dump(move_uploaded_file($_FILES[$name]["tmp_name"], IMAGE_DIRECTORY . "\\" .basename($_FILES[$name]["name"]))); 
}
?>

<form id="create_card_form" enctype="multipart/form-data" method="post"> Front Text: <input type="text" name="front_text"><br><br> Front Media (Image or Video Link) <input type="text" name="front_media"><br><br> <input type='file' name='file' id='image_uploaded_front' accept='image'/><br><br> Back Text: <input type="text" name="back_text"><br><br> Back Media (Image or Video Link) <input type="text" name="back_media"><br><br> <input type='file' name='file' id='image_uploaded_back' accept='image'/><br><br> <input type="submit" value="CREATE CARD" onClick="createCard(this.form)"> </form>

Ajax

然而,当我使用这个表格时,第二个图像代替第一个图像,我假设是因为它们被命名为相同。但是,更改名称将导致需要添加大量重复代码来处理图像。有没有办法用同样的名字做这个?

更新:我根据我的问题的答案编辑了我的Javascript和PHP脚本。现在,问题似乎是将图像正确地提供给PHP脚本。现在,使用我的代码,在PHP中上传图像时出错。

1 个答案:

答案 0 :(得分:0)

您的问题的答案是否定的 - 您不能POST具有相同名称的属性。

问题的解决方案实际上正是您尝试实现的目标,而不是您尝试实现的方式。你不想要重复的代码(这很好) - 所以把需要多次运行的代码放到一个函数中。

<?php

uploadFile("file");
uploadFile("secondFile");


function uploadFile($name) {
    define("IMAGE_DIRECTORY", "images");

    //If the directory for images does not exist, create it

    if(!is_dir(IMAGE_DIRECTORY)) {
        mkdir(IMAGE_DIRECTORY, 0777, true);
    }

    var_dump(move_uploaded_file($_FILES[$name]["tmp_name"], IMAGE_DIRECTORY . "\\" .basename($_FILES[$name]["name"])));
}
?>

编辑:刚发现Alex Howansky在评论中打败了我。