導航:首頁 > 編程語言 > php上傳圖片到文件夾

php上傳圖片到文件夾

發布時間:2025-09-04 14:43:30

php簡單圖片上傳問題,指定路徑保存,稍微修改一下多謝了,

<?
$path='img/';//路徑
$phtypes=array(
'img/gif',
'img/jpg',
'img/jpeg',
'img/bmp',
'img/pjpeg',
'img/x-png'
);
?>
<html><body>
<form method="post" enctype="multipart/form-data" name="form1">
<table>
<tr><td>上傳圖片</td></tr>
<tr><td><input type="file" name="photo" size="20" /></td></tr>
<tr><td><input type="submit" value="上傳"/></td></tr>
</table>
允許上傳的文件類型為:<?=implode(', ',$phtypes)?></form>
<?php
if($_SERVER['REQUEST_METHOD']=='POST'){

if (!is_uploaded_file($_FILES["photo"][tmp_name])){
echo "圖片不存在";
exit();
}

if(!is_dir('img')){//路徑若不存在則創建
mkdir('img');
}

$upfile=$_FILES["photo"];
$pinfo=pathinfo($upfile["name"]);
$name=$pinfo['basename'];//文件名
$tmp_name=$upfile["tmp_name"];
$file_type=$pinfo['extension'];//獲得文件類型
$showphpath=$path.$name;

if(in_array($upfile["type"],$phtypes)){
echo "文件類型不符!";
exit();
}
if(move_uploaded_file($tmp_name,$path.$name)){
echo "成功!";
}
echo "<img src=\"".$showphpath."\" hight=\"70\" width=\"95\" />";
}
?>
</body>
</html>

Ⅱ php將post過來的$_FILES多張圖片同時保存在同一個文件夾

if(!isset($_FILES['userfile'])){
echo "失敗";

}else{

//文件夾不存在則創建文件夾(文件夾路徑:$dirname)
if (!file_exists($dirname){
mkdir($dirname);
}

$max_files=5; //設置最多上傳文件的個數
//遍歷圖片並存放至文件夾(圖片文件集合$src)
for($i=0;$i<$max_files;$i++){
//如果沒出錯
if($_FILES['userfile']['error'][$i]==0){
//設置完整存放路徑+文件名
$file_path=$dirname. "/" .$_FILES['userfile']['name'][$i];
//圖片正常讀寫就存放至文件夾
if (@fopen($src,'r')){
file_put_contents($file_path, $_FILES['userfile']);
}
}

}

}

Ⅲ 高分求助!給php網站用戶增加頭像,上傳圖片保存到mysql中,用戶登陸的時候顯示該用戶上傳的頭像

將圖片上傳數據酷 新建文件夾 在編寫JS調用代碼 以下例子 僅供參考: 1.<SCRIPT language=javascript src="pic.js" type=text/javascript></SCRIPT> 可以放在網頁的最後面也可以放在你網頁原來的JS的地方 2.把JS里的最後一句放到網頁裡面,代碼如下: window.onload=function(){glide.layerGlide(true,'icon_num_top','show_pic_top',205,2,0.1,'top');} 這樣,<SCRIPT language=Javascript src="pic.js" type=text/javascript></SCRIPT> 這段代碼,你放在網頁的任何地方都可以了 假如你頁面的js有定義過 xxx();這樣的函數 如果你div那裡銜接需要 <a href = "javascript:xxx();"></a> 如果是滑鼠移上去的 就是 " onmuseover = javascript:xxx()" 滑鼠移走 就是 " onmuseout = javascript:xxx()" 注意一下大小寫哦 當然也可以在div裡面加入 <script> js代碼 </script>這樣調用 具體問題具體對待 <script type="text/javasript" srs="test.js"></script>應用外部腳本文件test.js; <script type="text/javasript"> vat msg="test";//定義變數msg並賦值 function testMsg (msg)//定義函數testMsg,參數為msg { alert("消息是:"+msg); } </script> 首先引入你的js <script type="text/javascript" src="xx.js"></script> 屬於同一文檔對象的方法名是不允許重名的,因為js沒有重載這一概念. 所以把你頁面上的方法test或js的test方法名改成其它的名字. 舉個例子: xx.js文件有寫有一個 function testJs(value){ value="xxx"; return value; } 引入以上的js後,在你的頁面上寫一個 function test(){ var ret = testJs("x"); alert(ret); } <?php bloginfo('template_url'); ?>是php語法, 你上面的代碼的原理是,js文件路徑由php在伺服器端動態生成後再發送至瀏覽器! 解釋這個php代碼 bloginfo確實是函數名,但好像不是php本身的函數。應該是開發者自己構造的函數,template_url是像該函數提供的參數。具體這個函數是什麼樣的,這個就不知道了,沒看到你的全部程序文件,誰能揣摩開發者的心思呢? 這個函數相似於: <?php function bloginfo($url=''){ 這里寫邏輯代碼 return $url; } ?> 要求; 頁面上的JS的方法如何調用JS文件裡面的方法 如:<script type="text/javascript">function test(){ var value = document.getElementById('typeid').value;} </script> </head> <body> <input type="text" id="typeid"></input> <input type="button" value="test" onclick="test()"> </body >我頁面上的test()方法如何調用JS文件裡面的test(value) 方法或者如何直接調用JS文件裡面的方法也行,注意:JS文件裡面有好多方法 ,不只有一個 <script src='/plus/ad_js.php?aid=10'language='javascript'></script> 直接在需要調用的地方調用就好了廣告代碼就是plus/ad_js.php?aid=10你應該看ad_js.php 這個文件的代碼,修改也是修改這個頁面的代碼比如你在主頁某個地方調用就直接調用這個就好了<script src='/plus/ad_js.php?aid=10'language='javascript'></script> 不明白?ai=10是個參數.. ad_js.php 肯定是從資料庫里取記錄的.. 你可以看一下這個文件的代碼....看來和你解釋不清了..只能說到這個份上了..

Ⅳ php 怎麼上傳完圖片之後,給這個圖片打水印,並且保存在另一個文件夾

這個php中的圖片處理類完全足夠了,使用圖片水印

$groundImg = "DSC05940.jpeg";
$groundInfo = getimagesize($groundImg);
$ground_w = $groundInfo[0];
//print_r($groundInfo);
$ground_h = $groundInfo[1];
switch($groundInfo[2]){
case 1:
$ground_im = imagecreatefromgif($groundImg);
break;
case 2:
$ground_im = imagecreatefromjpeg($groundImg);
break;
case 3:
$ground_im = imagecreatefrompng($groundImg);
break;
}

$waterImg = "DSC05949.jpeg";
$imgInfo =getimagesize($waterImg);
$water_w = $imgInfo[0];
$water_w = $imgInfo[1];

switch($imgInfo[2]){
case 1:
$water_im = imagecreatefromgif($waterImg);
break;
case 2:
$water_im = imagecreatefromjpeg($waterImg);
break;
case 3:
$water_im = imagecreatefrompng($waterImg);
break;
}
image($ground_im,$water_im,100,100,0,0,500,500);
header("Content-type: image/jpeg");

imagejpeg($ground_im);

這些都很麻煩,建議使用框架,很多框架都提供了圖片處理類供使用

Ⅳ php如何實現文件上傳

所謂上傳就是把文件從你電腦本地復制到你的項目指定文件夾下。
但這有個中間過程,就是復制到系統指定的臨時文件夾生成臨時文件。
然後將臨時文件復制到你指定的文件夾下。
剩下的就是各種驗證了。
給你個圖片上傳方法
//上傳一張圖片
$pic = $_FILES['pic'];
function upload($pic){
$tmp_name = $pic['tmp_name'];
$name = $pic['name'];
$type = $pic['type'];
$size = $pic['size'];
if(!is_uploaded_file($tmp_name)) exit('不是上傳文件');
//判斷是否是圖片
$mine = array('image/png','image/jpg','image/gif','image/jpeg');
if(!in_array($type,$mine)) exit('圖片格式不正確');
//判斷是否有錯誤碼
$error = $pic['error'];
switch ($error) {
case 1:
exit("超出上傳文件的最大限制");
case 2:
exit("超出了指定的文件大小");
case 3:
exit("只有部分文件被上傳");
case 4:
exit("文件沒有被上傳");
case 6:
exit("找不到臨時文件夾");
case 7:
exit("文件寫入失敗");

}
echo "================<br/>";
echo "上傳文件名稱是:".$name."<br/>";
echo "上傳文件類型是:".$type."<br/>";
echo "上傳文件大小是:".$size."<br/>";
echo "上傳後系統返回的值是:".$error."<br/>";
echo "上傳文件的臨時存放路徑是:".$tmp_name."<br/>";
echo"開始移動臨時文件".'<br>';
$des_name = 'up/'.mt_rand().time().'.'.basename($type);
$res = move_uploaded_file($tmp_name, $des_name);
if($res){
echo "================<br/>";
echo "上傳圖片成功".'<br>';
}
}

Ⅵ php 圖片上傳move_uploaded_file 出錯

上傳文件不存在。很可能是PHP臨時文件夾不存在導致的。

<?php
/*
* 文件上傳類
*/
class Uploads{

//上傳文件
private $uploadFile;

//上傳文件擴展名
private $ext = array('jpeg','jpg','gif','png');

//上傳文件大小
private $size = 5000000;

//上傳文件目錄
private $uploadDir = './uploads/';

//是否自定義名稱,默認FALSE
private $newName = '';

//上傳文件是否可讀,默認為TRUE
private $isRead = TRUE;

//上傳文件是否可寫,默認為TRUE
private $isWrite = TRUE;

//上傳信息
private $info;

/*
* 文件上傳類初始化
*/
public function __construct($newName='',$ext='',$size='',$dir='',$isRead=TRUE,$isWrite=TRUE){
$this->ext = empty($ext)?$this->ext:$ext;
$this->size = empty($size)?$this->size:$size;
$this->dir = empty($dir)?$this->uploadDir:$dir;
$this->newName = $newName;
$this->isRead = $isRead?TRUE:FALSE;
$this->isWrite = $isWrite?TRUE:FALSE;
}
/*
* 處理上傳文件
*/
public function doUpload(){
$this->checkData();
$this->checkFile() or $this->error();
$this->checkExt() or $this->error();
$this->checkSize() or $this->error();
$this->checkError() or $this->error();
$this->checkDir() or $this->error();
$this->upload() or $this->error();
return $this->info['msg'];
}
/*
* 處理上傳文件數據
*/
public function checkData(){
$num = 0;
$newArr = array();
foreach($_FILES as $v){
if(is_array($v['name'])){
$count = count($v['name']);
for($i=0; $i<$count; $i++){
foreach($v as $m=>$n){
$newArr[$num][$m] = $n[$i];
}
$num++;
}
}else{
$newArr[$num] = $v;
$num++;
}

}
$endArr = array();
foreach($newArr as $v){
if($v['name'] != ''){
$endArr[]=$v;
}
}
$this->uploadFile = $endArr;
}
/*
* 檢測上傳文件是否存在
*/
private function checkFile(){
if(empty($this->uploadFile)){
$this->info['error'] = '上傳文件不得為空!!!';
return FALSE;
}
return TRUE;
}
/*
* 檢測上傳文件類型是否合法
*/

private function checkExt(){
if(!is_array($this->ext)){
$this->ext = explode(',', $this->ext);
}
foreach($this->uploadFile as $v){
$ext = strtolower(substr(strrchr(basename($v['name']),'.'),1));
if(!in_array($ext,$this->ext)){
$this->info['error'] = '上傳文件類型非法,禁止上傳!!!';
return FALSE;
}
}
return TRUE;
}

/*
* 檢測上傳文件大小
*/

private function checkSize(){
foreach($this->uploadFile as $v){
if($v['size']>$this->size){
$this->info['error'] = '上傳文件體積過大,上傳失敗!!!';
return FALSE;
}
}
return TRUE;
}

/*
* 檢測文件上傳錯誤代碼
*/
private function checkError(){
foreach($this->uploadFile as $v){
switch($v['error']){
case 0:
return TRUE;
break;
case 1:
$this->info['error'] = '上傳的文件超過了 php.ini 中 upload_max_filesize 選項限制的值,上傳失敗!!!';
return FALSE;
break;
case 2:
$this->info['error'] = '上傳文件的大小超過了 HTML 表單中 MAX_FILE_SIZE 選項指定的值,上傳失敗!!!';
return FALSE;
break;
case 3:
$this->info['error'] = '文件只有部分被上傳!!!';
return FALSE;
break;
case 4:
$this->info['error'] = '沒有文件上傳!!!';
return FALSE;
break;
}
}
return TRUE;
}

/*
* 檢測上傳文件夾是否存在
*/

private function checkDir(){
if(!file_exists($this->uploadDir)){
mkdir($this->uploadDir,0777,true);
}
if(!is_writeable($this->uploadDir)){
$this->info['error'] = '上傳目錄沒有寫入許可權,上傳失敗!!!';
return FALSE;
}
return TRUE;
}

/*
* 上傳文件
*/

private function upload(){

date_default_timezone_set('PRC');

//檢測文件是否自定義名稱
$name = empty($this->newName)?date('Ymd_His'):$this->newName;
foreach($this->uploadFile as $k=>$v){
$upload_path = $this->uploadDir.$name.'_'.($k+1).strrchr(basename($v['name']),'.');
$upload_path = iconv('UTF-8','gbk',$upload_path);
if(is_uploaded_file($v['tmp_name'])){
if(move_uploaded_file($v['tmp_name'], $upload_path)){
if($this->isRead && $this->isWrite){
chmod($upload_path,0777);
}else if($this->isRead && !$this->isWrite){
chmod($upload_path,0444);
}else if(!$this->isRead && $this->isWrite){
chmod($upload_path,0222);
}else{
chmod($upload_path,0000);
}
$this->info['msg']=array('type'=>1,'success'=>'文件上傳成功','path'=>iconv('gbk','UTF-8',$upload_path));
}else{
$this->info['error'] = '文件上傳失敗!!!';
return FALSE;
}
}
}
return TRUE;

}
/*
* 上傳成功的方法
*/
public function success(){
echo $this->info['msg']['success'];
}

/*
* 上傳文件錯誤方法
*/
public function error(){
echo $this->info['error'];
die;
}

這是我寫的PHP類,你可以參考一下。有什麼特殊需要的,你可以告訴我一下,完善一下上傳類。

Ⅶ php中如何調用資料庫中的圖片並且顯示到頁面

php是採用二進制形式存儲圖片及讀取顯示的,首先通過代碼創建數據表,然後上傳圖片伺服器再通過瀏覽器顯示,具體編程代碼舉例:

1、首先需要創建數據表,具體代碼如下圖所示。

閱讀全文

與php上傳圖片到文件夾相關的資料

熱點內容
程序員都應該學習什麼 瀏覽:19
sw安裝目錄在哪個文件夾 瀏覽:951
900本編程書籍 瀏覽:683
大本在手就等於解壓了對嗎 瀏覽:866
加工中心銑圓怎麼編程 瀏覽:745
河北稅控盤伺服器地址 瀏覽:825
程序員20年後的收入 瀏覽:605
安卓微信刪除了記錄怎麼找回 瀏覽:986
安卓怎麼把gif變成圖片 瀏覽:956
sql代理伺服器如何開啟 瀏覽:366
編譯原理棧式存儲管理 瀏覽:782
phpmanager配置 瀏覽:960
程序員前途怎麼樣 瀏覽:716
php上傳圖片到文件夾 瀏覽:738
apache命令啟動 瀏覽:75
雲呼顯示沒有連接伺服器什麼情況 瀏覽:240
php與mysql程序設計第5版 瀏覽:1002
釘釘解壓包下不了 瀏覽:849
java數組json遍歷 瀏覽:551
南京億賽通文檔加密研發公司 瀏覽:539