나는 하루 종일 이것을보고 고집했습니다. 테이블을 업데이트하는 기본 PHP 스크립트가 있습니다. 세부 정보를 전달한 다음 업로드 디렉토리에서 파일을 다운로드합니다.MYSQL을 업데이트하고 파일을 다운로드하고 리디렉션
$user = isset($_GET['use'])? $_GET['use'] : null;
$route = isset($_GET['rou'])? $_GET['rou'] : null;
$expires = isset($_GET['exp'])? $_GET['exp'] : null;
$itemnu = isset($_GET['item'])? $_GET['item'] : null;
$host="host";
$username="username";
$password="password";
$db_name="username";
$con=mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("can not select DB");
$query = "INSERT INTO database.table(item,name,expiry) VALUES ('$itemnu', '$user', '$expires')";
mysql_query($query) or die('Query "' . $query . '" failed: ' . mysql_error());
echo "<meta http-equiv=\"Refresh\" content=\"0; url=/upload/" . $route . "\">";
지금해야 할 일은 다시 홈페이지로 리디렉션됩니다. 그러나 PHP로 다운로드 한 후에 리디렉션 할 수 없다는 것을 알고 있으며, 리디렉션을하면 작동하지 않습니다. 내가
을 시도했지만 파일을 마이크로 소프트, 텍스트 및 PDF의 한 varity 수있는 바와 같이, 나는 그것을 작동시킬 수 없습니다. 나 또한 시도 (편집의 일부로 제거) 자바 스크립트를 보았고 PHP 변수를 사용하여 파일을 다운로드하는 방법을 사용할 수 없습니다. 도움이 필요하신 분은 미리 감사드립니다. PHP 스크립트에 대한 요구 사항은 없습니다. 작동 아무것도. 이 업로드 파일하면 fopen과 file_get_contents
<?php
$target = "../upload/";
$target = $target . str_replace(" ","_",($_FILES['file']['name']));
$current = time();
$name=addslashes($_POST['title']);
$owner=$_POST['owner'];
$pic=str_replace(" ","_",($_FILES['file']['name']));
$time = strtotime($_POST['timestamp']);
$grade= implode(', ', $_POST['g_group']);
$Loc= implode(', ', $_POST['l_group']);
mysql_connect("host", "database", "password") or die(mysql_error()) ;
mysql_select_db("database") or die(mysql_error()) ;
$query =("INSERT INTO UPLOAD (title,owner,faoGrade, foaLocation,date, expiry,route)
VALUES
('$name', '$owner','$grade','$Loc','$current','$time', '$pic')");
mysql_query($query);
if(move_uploaded_file($_FILES['file']['tmp_name'], $target))
{
echo "The file ". basename($_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
} else {
echo "Sorry, there was a problem uploading your file using " . query ;
}
?>
하고 다운로드
<?php
$user = isset($_GET['use'])? $_GET['use'] : null;
$route = isset($_GET['rou'])? $_GET['rou'] : null;
$expires = isset($_GET['exp'])? $_GET['exp'] : null;
$itemnu = isset($_GET['item'])? $_GET['item'] : null;
$host="host";
$username="username";
$password="password";
$db_name="database";
$con=mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("can not select DB");
$query = "INSERT INTO database.READ(item,name,expiry) VALUES ('$itemnu', '$user', '$expires')";
mysql_query($query) or die('Query "' . $query . '" failed: ' . mysql_error());
sleep(20); //added didn't help
header('Content-type: application/octet-stream');
header('Content-Disposition: attachment; filename='.$route);
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Content-Length: " . filesize($route)); //added didn't work
readfile('/upload/'.$route);
header("refresh: 150; roster.php?action=Home");
exit;
?>
죄송 무슨 일이 일어 나는지. 그것은 upload.pdf 대신에 $ 경로를 가지고있었습니다. 세미 콜론 ??? 제거되었습니다. 아직 다운로드 한 파일이 변환기로 열리지 않습니다 ??? – user1980618
나는 그것이 처리를 끝내기 위해 파일을 기다리지 않고 있기 때문에 그것이 무엇인지 알 수있다. 즉, 파일을 바로 다운로드하고 내용의 일부 또는 파일 뒤에있는 물건이 누락되어있다. 그것이 해야하는 것보다 낮은 파일 크기, 그것에 잠을 넣어보십시오 ... 그래서 업로드 후 10 초 동안로드 스크립트와 함께 계속 –
다니엘, 스폿에, 그냥 테스트를 완료하고 파일이 2 킬로바이트, 서버의 크기는 36kb입니다. 적어도 왜 수정을 찾아야하는지 알 수 있습니다. – user1980618