我正在尝试使用此处的文件实现简单的文件上传:
http://www.sanwebe.com/2012/05/ajax-image-upload-and-resize-with-jquery-and-php
我让它工作并设法通过 CSS 更改样式等并更改文件名等。
我现在需要在 iframe 中使用它并为文件名传递一个变量。
在我的应用程序中,我可以使用 localstorage,setItem('clientID',10) 或将参数添加到 iframe url。 www.xxx.com/uploads?clientID= 10.
插件有一个 html 文件,然后调用 php 文件:
<form action="processupload.php" method="post" enctype="multipart/form-data" id="MyUploadForm">
那么将我的 clientID 变量获取到 final.php 文件的“正确”方法是什么。
我可以在 HTML 文件中使用 javascript 并将变量传递给表单操作即:
<form action="processupload.php?"+clientID method="post" enctype="multipart/form-data" id="MyUploadForm">
或者我可以获取 html 文件中的 url 参数并添加到表单操作中。
我在 body 标签之后试过这个:
<?php
$clientID='100';
?>
然后将表单操作更改为:
<form action="processupload.php?clientID=" <?php echo $clientID ?> method="post" enctype="multipart/form-data" id="MyUploadForm">
然后在我添加的PHP文件中:
$clientID = $_GET["clientID"];
并将文件名详细信息更改为:
$NewFileName = $clientID.$File_Ext; //new file name
当我上传文件但 clientID 为空时,该过程有效。例如,文件名为“.png”而不是“100.png”
华比先生
最佳答案
如果你想通过 HTML 实现......
代替
<form action="processupload.php?clientID=" <?php echo $clientID ?> method="post" enctype="multipart/form-data" id="MyUploadForm">
试试这个:
<form action="processupload.php?clientID=<?php echo $clientID ?>" method="post" enctype="multipart/form-data" id="MyUploadForm">
如果还是不行(有些服务器不喜欢混合使用 POST 和 GET),那么尝试换成这个:
<form action="processupload.php" method="post" enctype="multipart/form-data" id="MyUploadForm">
<input type="hidden" name="clientID" value="<?=$clientID;?>" />
<!-- the rest of your form -->
</form>
然后在您的 PHP 文件中,将 $_GET
替换为 $_POST
。
关于php - 将参数传递给 HTML 中的表单操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24453038/