2014-06-27 120 views
0

我想在這裏使用的文件來實現一個簡單的文件上傳行動:傳遞參數,形成HTML

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文件。

我可以使用JavaScript的HTML文件和變量傳遞給表單的動作,即:

<form action="processupload.php?"+clientID method="post" enctype="multipart/form-data" id="MyUploadForm"> 

或者,我可以搶在HTML文件的URL參數,並添加到窗體的行動。

我想這身體標記後:

<?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'

MrWarby

+0

爲什麼不把它設置在會話中並在上傳處理腳本中加入該會話? – Darren

+0

您在會話$ _session ['clientID'] = 100中存儲值; – Vijayaragavendran

回答

5

如果你想通過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),然後嘗試交換fo R此:

<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

+0

歡呼@Mark Ormesher。這工作。是否有任何形式的語法檢查器的HTML它似乎是一個噩夢... – user3193843

+0

@ user3193843 IDE像Adobe Dreamweaver(如果你可以稱它爲IDE!)會在工作時突出顯示語法錯誤。我認爲像Programmer's Notepad這樣的更基本的軟件有某種形式的錯誤檢測,但我不能100%確定。 –