php上傳到圖片伺服器-ag真人国际官网
php上傳圖片客戶端和伺服器端實現方法分享給大家供大家參考。具體如下:
前台表單代碼
後端php代碼
//這里上傳 $upsize判斷上傳文件的大小
$uppath = "/attached/"; //文件上傳路徑
//轉換根目錄的路徑
if (strpos($uppath, "/") == 0)
{
$i = 0;
$thpath = $_server["script_name"];
$thpath = substr($thpath, 1, strlen($thpath));
while (strripos($thpath, "/") !== false)
{
$thpath = substr($thpath, strpos($thpath, "/") 1, strlen($thpath));
$i = $i;
}
$pp = "";
for ($j = 0; $j < $i; $j)
{
$pp .= "../";
}
$uppaths = $pp . substr($uppath, 1, strlen($thpath));
}
$filename = date("y-m-d");
if (is_dir($uppaths . $filename) != true)
mkdir($uppaths . $filename, 0777);
$f = $_files['pic'];
if ($f["type"] != "image/gif" && $f["type"] != "image/pjpeg" && $f["type"] != "image/jpeg" && $f["type"] != "image/x-png")
{
echo "";
return false;
}
//獲得文件擴展名
$temp_arr = explode(".", $f["name"]);
$file_ext = array_pop($temp_arr);
$file_ext = trim($file_ext);
$file_ext = strtolower($file_ext);
//新文件名
$new_file_name = md5(date("ymdhis")) . '.' . $file_ext;
echo $dest = $uppaths . $filename . "/" . date("ymdhis") . "_" .
$new_file_name; //設置文件名為日期加上文件名避免重復 上傳目錄
echo $dest1 = $uppath . $filename . "/" . date("ymdhis") . "_" .
$new_file_name; //設置文件名為日期加上文件名避免重復
$r = move_uploaded_file($f['tmp_name'], $dest);
?>
② 用php如何把一些文件和圖片上傳到另一指定的伺服器
一個實例:
首先,在自己台式機和筆記本上都開通了ftp,這個不會的同學可以網上查serv-u,相關教程肯定不少的。
然後在台式機本地做了個測試:
$ftp_server = "192.168.1.100";
$ftp_user_name = "laohu";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("couldn't connect to $ftp_server");
$file = 'test.txt';
$remote_file = '/test/a.txt';
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $file, ftp_binary)) {
echo "文件移動成功\n";
} else {
echo "移動失敗\n";
}
ftp_close($conn_id);
運行後:文件移動成功。
要的就是這個效果了,之後用台式機做程序伺服器,上傳附件時全用ftp方法上傳至筆記本上,筆記本ip是105,相應代碼如下:
if (is_uploaded_file($_files['uploadfile']['tmp_name'])) {
$ftp_server = "192.168.1.105";
$ftp_user_name = "lesley";
$ftp_user_pass = "123456";
$conn_id = ftp_connect($ftp_server) or die("couldn't connect to $ftp_server");
$file = $_files['uploadfile']['tmp_name'];
$remote_file = '/test/'.$_files['uploadfile']['name'];
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass);
if (ftp_put($conn_id, $remote_file, $file, ftp_binary)) {
echo "文件:".$_files['uploadfile']['name']."上傳成功\n";
} else {
echo "上傳失敗\n";
}
ftp_close($conn_id);
}
對應的前台頁面代碼:
運行後確實成功。
需要注意:
在用ftp_put方法時,第四個參數傳送模式,需要用ftp_binary(二進制模式),用ftp_ascii(文本模式)時,圖片能上傳但無法顯示,其他文件重命名、中文亂碼解決、上傳許可權控制等,就不在此提及了。
③ php中圖片上傳到伺服器的問題
第一種情況:可能是伺服器沒有鏈接上,伺服器的設置有問題。
第二種情況:可能是圖片的路徑有問題,你可以右擊查看圖片屬性,確定路徑。
第三種情況:也就是你說的內存不足。
④ 經典怎樣通過php將本地的文件上傳到伺服器上
創建一個文件上傳表單
允許用戶從表單上傳文件是非常有用的。
請看下面這個供上傳文件的 html 表單:
請留意如下有關此表單的信息:
3.uploadclass.php
$uploaddir="upfiles/";//設置文件保存目錄注意包含/
$type=array("jpg","gif","bmp","jpeg","png");//設置允許上傳文件的類型
$patch="upload/";//程序所在路徑
//獲取文件後綴名函數
functionfileext($filename)
{
returnsubstr(strrchr($filename,'.'),1);
}
//生成隨機文件名函數
functionrandom($length)
{
$hash='cr-';
$chars='';
$max=strlen($chars)-1;
mt_srand((double)microtime()*1000000);
for($i=0;$i<$length;$i )
{
$hash.=$chars[mt_rand(0,$max)];
}
return$hash;
}
$a=strtolower(fileext($_files['file']['name']));
//判斷文件類型
if(!in_array(strtolower(fileext($_files['file']['name'])),$type))
{
$text=implode(",",$type);
echo"您只能上傳以下類型文件:",$text,"
";
}
//生成目標文件的文件名
else{
$filename=explode(".",$_files['file']['name']);
do
{
$filename[0]=random(10);//設置隨機數長度
$name=implode(".",$filename);
//$name1=$name.".mcncc";
$uploadfile=$uploaddir.$name;
}
while(file_exists($uploadfile));
if(move_uploaded_file($_files['file']['tmp_name'],$uploadfile))
{
if(is_uploaded_file($_files['file']['tmp_name']))
{
echo"上傳失敗!";
}
else
{//輸出圖片預覽
echo"您的文件已經上傳完畢上傳圖片預覽: ";
echo""; 繼續上傳
}
}
}
?>
⑨ thinkphp3.2.3 上傳圖片到ftp,同時生成縮略圖。
thinkphp上傳文件類:
$upload = new thinkupload($config);// 實例化上傳類
使用這個。
如要處理圖片大小。需要另外調用圖像處理:
裁剪圖片
$image=newthinkimage();
$image->open('./1.jpg');
//將圖片裁剪為400x400並保存為corp.jpg
$image->crop(400,400)->save('./crop.jpg');
居中裁剪
$image=newthinkimage();
$image->open('./1.jpg');
//生成一個居中裁剪為150*150的縮略圖並保存為thumb.jpg
$image->thumb(150,150,thinkimage::image_thumb_center)->save('./thumb.jpg');