2011-08-19 3 views
0

어제부터 스크립트가 변경되지 않았으므로이 스크립트를 사용하여 서버에 업로드 할 때 오류가 발생합니다.PHP : 문자열에 공백 추가하기

스크립트 :

<script> 
$(document).ready(function(){ 
$.ajax({ 
    type: 'GET', 
    url: '../units_and_evidence/"', 
    data: 'cache=yes' 
}); 
}); 
</script> 
<?php 
include($_SERVER['DOCUMENT_ROOT']."/dbconnect.php"); 
$filetype = $_POST["filetype"]; 
$file= $_FILES["file"]["name"]; 
$extension = strtoupper(strrchr($file, ".")); 
$filename = substr($file, 0, -strlen($extension)); 
$unitID = $_POST["units"]; 
$projectID = $_POST["project"]; 
$title = $_POST["title"]; 
$projectString = strtolower(str_replace(" ", "", $_POST["projectString"])); 
$target_path = '../units_and_evidence/files/'.$projectString.'/'. basename($_FILES['file']['name']); 
$outcomes = implode(',', $_POST["outcomes"]); 
if(is_uploaded_file($_FILES['source']['tmp_name'])) { 
$source_path = '../units_and_evidence/files/'.$projectString.'/'.$filename.'.fla'; 
move_uploaded_file($_FILES['source']['tmp_name'], $source_path) or die("Couldn't upload source file"); 
} 
if(move_uploaded_file($_FILES['file']['tmp_name'], $target_path)) { 
mysql_select_db('reithg_FILES'); 
if ($filetype == "PDF") { 
$page = $_POST["page"]; 
$mode = $_POST["mode"]; 
mysql_query("INSERT INTO PDF (ID, UNITID, PROJECTID, OUTCOMES, TITLE, FILENAME, PAGE, MODE, FILETYPE) VALUES('NULL', '$unitID', '$projectID', '$outcomes', '$title', '$filename', '$page', '$mode', '$filetype') ") or die(mysql_error()); 
} 
else if ($filetype == "IMG") { 
mysql_query("INSERT INTO IMG (ID, UNITID, PROJECTID, OUTCOMES, TITLE, FILENAME, EXTENSION, FILETYPE) VALUES('NULL', '$unitID', '$projectID', '$outcomes', '$title', '$filename', '$extension', '$filetype') ") or die(mysql_error()); 
} 
else if ($filetype == "FLASH") {   
mysql_query("INSERT INTO FLASH (ID, UNITID, PROJECTID, OUTCOMES, TITLE, FILENAME, FILETYPE) VALUES('NULL', '$unitID', '$projectID', '$outcomes', '$title', '$filename', '$filetype') ") or die(mysql_error()); 
} 
header('Location: upload_file.php?success=true'); 
} else{ 
header('Location: upload_file.php?success=false'); 
} 
?> 

오류 :

Warning: move_uploaded_file(../units_and_evidence/files/ report /eHealth evaluation_Final.pdf) [function.move-uploaded-file]: failed to open stream: No such file or directory in /home/reithg/public_html/admin/process.php on line 17 

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpPcxZxC' to '../units_and_evidence/files/ report /eHealth evaluation_Final.pdf' in /home/reithg/public_html/admin/process.php on line 17 

당신이 단어를보고 주위에 공백을 추가 볼 수 있듯이. 보고서는 $projectString에서 비롯되며 원래 공백을 포함하지 않을뿐만 아니라 안전을 위해 공백을 제거합니다.

+0

'echo $ _POST [ "projectString"];'와'echo $ projectString; '의 결과는 무엇입니까? – Devator

+1

공백 문자 하나만 바꾸고 여러 공백 문자는 바꾸지 마십시오. $ projectString = trim (str_replace ("", "", $ _POST [ "projectString"]))))을 사용하여보십시오)); – madflow

+0

트림은 일을 감사했습니다. –

답변

1

어쩌면 탭이고 공백이 아닐 수도 있습니다. 대신 트림을 사용하십시오. http://php.net/manual/en/function.trim.php, 솔직히 말해서 나는 다른 유용한 코드가 게시 된 것을 볼 수 없다.

관련 문제