像discuz發帖那樣,一次上傳多個圖片,然後將所有上傳的圖片路徑插入到編輯器中。
有沒有?
回複討論(解決方案)
找個JS批量上傳外掛程式,主要是美觀而已,技術角度還是個表單。
從http協議實現角度,下面的php代碼是一個活生生的協議細節:
$val) { $data .= "--$boundary\n"; $data .= "Content-Disposition: form-data; name=\"".$key."\"\n\n".$val."\n"; } $data .= "--$boundary\n"; //Collect Filedata foreach($files as $key => $file) { $fileContents = file_get_contents($file['tmp_name']); $data .= "Content-Disposition: form-data; name=\"{$key}\"; filename=\"{$file['name']}\"\n"; $data .= "Content-Type: image/jpeg\n"; $data .= "Content-Transfer-Encoding: binary\n\n"; $data .= $fileContents."\n"; $data .= "--$boundary--\n"; } $params = array('http' => array( 'method' => 'POST', 'header' => 'Content-Type: multipart/form-data; boundary='.$boundary, 'content' => $data )); $ctx = stream_context_create($params); $fp = fopen($url, 'rb', false, $ctx); if (!$fp) { throw new Exception("Problem with $url, $php_errormsg"); } $response = @stream_get_contents($fp); if ($response === false) { throw new Exception("Problem reading data from $url, $php_errormsg"); } return $response; } //set data (in this example from post) //sample data $postdata = array( 'name' => $_POST['name'], 'age' => $_POST['age'], 'sex' => $_POST['sex'] ); //sample image $files['image'] = $_FILES['image']; do_post_request("http://example.com", $postdata, $files); ?>
swfopload
本帖最後由 PhpNewnew 於 2012-05-26 10:56:05 編輯
在學習PHP中可能會遇到PHP上傳多張圖片問題,上傳圖片需要對圖片格式的校正,保證上傳的一定是圖片,防止上傳其他檔案到伺服器。多圖片上傳基本實現方法是使用數組的形式,把所有的圖片提交個一個數組,對數組的元素進行一個個迴圈的處理。下面是PHP多圖片上傳的程式碼範例:
1. 2.//圖片目錄
3.$img_dir="../upload/";
4.//……html顯示上傳介面
5./*圖片上傳處理*/
6.//把圖片傳到伺服器
7.//初始設定變數
8.$uploaded=0;
9.$unuploaded=0;
10.//只允許五張圖片上傳
11.for($i=0;$i<=5;$i++)
12.{
13.//擷取當前圖片的資訊
14.$is_file=$_FILES['imgfile']['name'][$i];
15.//如果當前圖片不為空白
16.if(!empty($is_file))
17.{
18.//把當前圖片的資訊儲存到變數裡
19.$result[$i]="
20.
21.".$_FILES['imgfile']['name'][$i]."
22.".round($_FILES['imgfile']['size'][$i]/1024,2)."K
23.".$_FILES['imgfile']['type'][$i]."
24.";
25.//判斷上傳的圖片的類型是不是jpg,gif,png,bmp中的一種,同時判斷是否上傳成功
26.if(
27.$_FILES['imgfile']['type'][$i]=="image/pjpeg"||
28.$_FILES['imgfile']['type'][$i]=="image/gif"||
29.$_FILES['imgfile']['type'][$i]=="image/x-png"||
30.$_FILES['imgfile']['type'][$i]=="image/bmp"
31.)
32.{
33.//如果上傳的檔案沒有在伺服器上存在
34.if(!file_exists($img_dir.$_FILES['imgfile']['name'][$i]))
35.{
36.//把圖片檔案從臨時檔案夾中轉移到我們指定上傳的目錄中
37.move_uploaded_file($_FILES['imgfile']['tmp_name'][$i],
38.$img_dir.$_FILES['imgfile']['name'][$i]);
39.$result[$i].="成功";
40.$uploaded++;
41.}
42.else//如果檔案已經在伺服器上存在
43.{
44.$result[$i].="檔案已存在";
45.$unuploaded++;
46.continue;
47.}
48.}
49.else
50.{
51.$result[$i].="失敗";
52.$unuploaded++;
53.}
54.$result[$i].="";
55.}//endif
56.}//endfor
57.//如果沒有選擇任何圖片
58.if(empty($result))
59.{
60.prompt_msg("錯誤資訊","沒有選擇任何圖片。","返回上一步","uploadimg.php?action=upload");
61.exit();
62.}
63.//顯示所有上傳後的結果
引用樓主 的回複:
像discuz發帖那樣,一次上傳多個圖片,然後將所有上傳的圖片路徑插入到編輯器中。
有沒有?
網上有一個仿QQ相簿上傳外掛程式的程式。
Xproer.ImageUploader: http://www.cnblogs.com/xproer/archive/2010/08/09/1796077.html
主介面
圖片列表
添加圖片
編輯圖片:
提示資訊:
這個強,我們公司上次給客戶做的一個網站也是用的這個WEB圖片上傳控制項。
引用樓主 的回複:
像discuz發帖那樣,一次上傳多個圖片,然後將所有上傳的圖片路徑插入到編輯器中。
有沒有?
網上有一個仿QQ相簿上傳外掛程式的程式。
Xproer.ImageUploader: http://www.cnblogs.com/xproer/archive/2010/08/09/1796077.html
主介面
圖片列表
添加圖片
編輯圖片:
提示資訊:
這個使用者體驗不錯。現在的互連網產品做的也越來越好了,使用者使用起來也越來越方便了。
引用樓主 的回複:
像discuz發帖那樣,一次上傳多個圖片,然後將所有上傳的圖片路徑插入到編輯器中。
有沒有?
網上有一個仿QQ相簿上傳外掛程式的程式。
Web圖片批量上傳控制項(Xproer.ImageUploader): http://www.cnblogs.com/xproer/archive/2010/08/09/1796077.html
主介面
圖片列表
添加圖片
編輯圖片:
提示資訊:
整合代碼
Web圖片批量上傳控制項示範頁面查看上傳的圖片
這個真心牛X~!!~收下鳥。剛接了一個做網站的單子,正好用上。~!
我去,4樓的那個外掛程式大家別用!!!!!!!!!!!!!!!
本地可以使用,但是項目放到互連網使用時,就會提示你IP未授權,不讓你繼續使用,原來這外掛程式是個收費版的!!!而且價錢還不是一般的貴!!!我瞎了眼了,下下來之後自己改了好多代碼才弄好的圖片上傳,放到網上去之後就用不起來了!!!為什麼用的時候不告訴我是收費的!!!這個公司就是賤!!!不讓用拉倒,去別別的外掛程式用!!!
我去,4樓的那個外掛程式大家別用!!!!!!!!!!!!!!!
本地可以使用,但是項目放到互連網使用時,就會提示你IP未授權,不讓你繼續使用,原來這外掛程式是個收費版的!!!而且價錢還不是一般的貴!!!我瞎了眼了,下下來之後自己改了好多代碼才弄好的圖片上傳,放到網上去之後就用不起來了!!!為什麼用的時候不告訴我是收費的!!!這個公司就是賤!!!不讓用拉倒,去別別的外掛程式用!!!
其實收費還可以理解。問題是這也太貴了。我也是改了很多代碼,好不容易和自己的網站融合了,放到伺服器上,提示未授權,問了該公司客服,才知道要收費的。真坑。