나는 파일 업로드 방법을 연구 중이다. 나는 단지 이것을 배우기 때문에 다소 혼란 스럽다. 업로드를위한 데이터베이스 이름은 tblFile
입니다. 데스크톱 이름에 uploads
에 대한 폴더를 업로드했습니다. 그런 다음 filename.php라는 스크립트가 있습니다. 여기에 약간의 코드가 있습니다. 보시다시피 일부 영역이 잘못 표시 될 가능성이 높습니다. 업로드는 uploads
폴더에 없습니다. 나는 약 16주으로이 시점에 모든 것을 모든 다른 지역에서 PHP에 속박 된 혼란 얻고있다파일 업로드 PHP
$aryImages=array("image/jpeg","image/png");
$aryDocs=array("application/msword","application/pdf","video/x-msvideo");
$filename=filenameSafe($_FILES['upload']['name']);
$fileType=$_FILES["upload"]["type"];
if (in_array($_FILES["upload"]["type"],$aryImages)){
createThumb($fileType,$_FILES['uploadFile']['tmp_name'],$filename,100,100);
}
elseif (in_array($_FILES["uploadFile"]["type"],$aryDocs)){
move_uploaded_file($_FILES['uploadFile']['tmp_name'],
"/home/valerie2/public_html/elinkswap/filename.php/".$filename);
$aryColumns=array( "sessionID"=>$curSess,
"fileName"=>$filename,
"fileType"=>$fileType,
"thumbFileName"=>$thumbFilename,
"dateCreated"=>date('Y-m-d H:i:s'));
dbInsert($filename,$aryColumns,$_FILES["upload"]["type"]);
}
else{
echo "File Uploaded";
}
그냥 내 머리 속에서 기능을 실행 것으로 보인다. 이것은 숙제의 일부이지만 뒤로 파일을 가지고 있다고 생각하며 누군가 내가 내가하는 일을 이해하는 데 도움이되기를 바랍니다. 감사합니다
편집 : 여기에 좀 더 작업을하고있는 파일입니다
<?php
function dbConnect(){
// Connect to the database:
$hostname="localhost";
$database="tblFile";
$mysql_login="valerie2_shuawna";
$mysql_password="norris";
if(!($db=mysql_connect($hostname, $mysql_login, $mysql_password))){
echo"error on connect";
}
else{
if(!(mysql_select_db($database,$db))){
echo mysql_error();
echo "<br />error on database connection. Check your settings.";
}
else{
echo "This is the home page. I have successfully made a connection to my database and everything
is working as it should.";
}
}
$aryImages=array("image/jpeg","image/png");
$aryDocs=array("application/msword","application/pdf","video/x-msvideo");
$filename=filenameSafe($_FILES['uploads']['name']);
$fileType=$_FILES["uploads"]["type"];
if (in_array($_FILES["uploads"]["type"],$aryImages)){
createThumb($fileType,$_FILES['uploads']['tmp_name'],$filename,100,100);
}
elseif (in_array($_FILES["uploads"]["type"],$aryDocs)){
move_uploaded_file($_FILES['uploads']['tmp_name'],
"/home/valerie2/public_html/elinkswap/uploads/".$filename);
$aryColumns=array("sessionID"=>$curSess,"fileName"=>$filename,"fileType"=>$fileType,"thumbFileName"=>$thumbFilename,"dateCreated"=>date('Y-m-d H:i:s'));
dbInsert($filename,$aryColumns,$_FILES["upload"]["type"]);
}
else{
echo "File Uploaded";
}
}
function createThumb($type,$tmpname,$filename,$new_w,$new_h){
$thumbFilename="tmb-".$filename;
echo $type;
echo "<br>".$tmpname;
if (is_numeric(strpos($type,"jpeg"))){
$src_img=imagecreatefromjpeg($tmpname);
}
if (is_numeric(strpos($type,"png"))){
$src_img=imagecreatefrompng($tmpname);
}
$old_x=imageSX($src_img);
$old_y=imageSY($src_img);
if ($old_x > $old_y) {
$thumb_w=$new_w;
$thumb_h=$old_y*($new_h/$old_x);
}
if ($old_x < $old_y) {
$thumb_w=$old_x*($new_w/$old_y);
$thumb_h=$new_h;
}
if ($old_x == $old_y) {
$thumb_w=$new_w;
$thumb_h=$new_h;
}
$dst_img=imagecreatetruecolor($thumb_w,$thumb_h);
imagecopyresampled($dst_img,$src_img,0,0,0,0,$thumb_w,$thumb_h,$old_x,$old_y);
if (is_numeric(strpos($type,"jpeg"))){
imagejpeg($dst_img,"/home/valerie2/public_html/elinkswap/uploads/".$thumbFilename);
imagejpeg($src_img,"/home/valerie2/public_html/elinkswap/uploads/".$filename);
}
if (is_numeric(strpos($type,"png"))){
imagepng($dst_img,"/home/valerie2/public_html/elinkswap/uploads/".$thumbFilename);
imagepng($src_img,"/home/valerie2/public_html/elinkswap/uploads/".$filename);
}
imagedestroy($dst_img);
imagedestroy($src_img);
dbInsert($filename,$thumbFilename,$type);
}
function filenameSafe($filename) {
$temp = $filename;
// Lower case
$temp = strtolower($temp);
// Replace spaces with a ’_’
$temp = str_replace(" ", "_", $temp);
// Loop through string
$result = "";
for ($i=0; $i<strlen($temp); $i++) {
if (preg_match('([0-9]|[a-z]|_|.)', $temp[$i])) {
$result = $result.$temp[$i];
}
}
dbConnect();
$SQL="SELECT fileID FROM uploads WHERE fileName='".$result."'";
//echo $SQL;
$rs=mysql_query($SQL);
echo mysql_num_rows($rs);
if(mysql_num_rows($rs)!=0){
$extension=strrchr($result,'.');
$result=str_replace($extension,time(),$result);
$result=$result.$extension;
}
return $result;
}
function dbInsert($filename,$thumbFilename,$type){
dbConnect();
$SQL="INSERT Into uploads (fileName,thumbFileName,fileType) values('".$filename."','".$thumbFilename."','".$type."')";
//echo $SQL;
mysql_query($SQL);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>File Upload</title>
<link href="styles.css" type="text/css" rel="stylesheet" />
</head>
<body>
<form enctype="multipart/form-data" action="filename.php" method="post">
Select File: <input type="file" name="uploads">
<input type="hidden" name="MAX_FILE_SIZE" value="1000000"/>
<input name="Submit" type="submit" value="uploads">
</form>
하지만 파일은 여전히 업로드 폴더에 부하를 해달라고.
'/ home/valerie2/public_html/elinkswap/filename.php /'- 정말로 디렉토리 이름이 "filename.php"입니까? 또한 업로드가 성공했는지 여부를 확인하고, 사용자가 "nastyvirus.exe"의 이름을 "cutekittens.jpg"로 바꾸지 않고 (* ahem *) "보안"을 무시하지 않을 것이라는 것을 신뢰합니다. –