파일을 업로드 할 수있는 코드를 작성 중입니다. 이 코드는 파일을 모두 소문자로 변환하는 것입니다. 파일 이름이 데이터베이스에 아직 삽입되지 않았는지 확인하고 사용자가 .png 또는 .jpg 파일을 업로드하는 경우 이미지를 축소판으로 크기를 조정하고 축소판 및 일반 크기의 이미지를 이름이 지정된 폴더에 업로드합니다. 나는 아직도 약간 혼란 스럽다. 왜냐하면 나는 그 위에 계속해서 나아 갔다. 어쩌면 내가 며칠 동안 작업 중이거나 그렇지 않은지 알 수 없다. 아무 것도 볼 수 없다. 뿐만 아니라 나는 아직도이 일을하는 초보자입니다. 나는 그것을 어딘가에 루핑 나는 단지 캔트 캐치 그것입니다 생각하고데이터베이스의 파일 업로드에 관하여
$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['upload']['tmp_name'],$filename,100,100);
}
elseif (in_array($_FILES["upload"]["type"],$aryDocs)){
move_uploaded_file($_FILES['upload']['tmp_name'],
"../imagefolder/".$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;
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,"../upload/".$thumbFilename);
imagejpeg($src_img,"../upload/".$filename);
}
if (is_numeric(strpos($type,"png"))){
imagepng($dst_img,"../upload/".$thumbFilename);
imagepng($src_img,"../upload/".$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 upload 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 tblFile (fileName,thumbFileName,fileType) values('".$filename."','".$thumbFilename."','".$type."')";
echo $query;
exit;
mysql_query($SQL);
}
:
여기 내 코드입니다. 찾아보기 버튼을 클릭 한 후 업로드 버튼을 클릭하면 페이지에 아무것도 나타나지 않고 아무 것도 나타나지 않습니다. 나는 아무 오류나 아무것도 얻고 있지 않다. 누군가 나를 도울 수 있습니까? 만약 내가 코드의 일부를 넣으려고하면 나에게 오류와 치명적인 오류를주기 시작할 것이다. 보고 주셔서 감사합니다.
당신은 여분의 공백과 코드가 좀 더 읽기 쉽게 만들 수 있습니다. 또한'error_reporting (E_ALL);을 활성화하십시오. – mario
당신이 특별히 얻은 오류 메시지를 알려줄 수 있습니까? – rdlowrey
글쎄, 코드가없는 곳은 없다. – sn1984