PDA

View Full Version : سوال: کشیدن فایل روی سرور از طریق php



speeed
سه شنبه 13 دی 1390, 11:36 صبح
سلام دوستان خوبید؟
اقا من میخوام یه چیزی بنویسم که بتونم فایل های مختلف رو بکشم رو هاستم
من اومدم طبق کدی که دیدم اینطور عمل کردم


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome To MyUploader</title>
<link href="Style.css" rel="stylesheet" type="text/css" />
</head>

<body text="#FFFFFF">
<div id="main">
<center>
<br /><br />
<form action="action.php" method="post" enctype="multipart/form-data">
لینک را وارد کنید
<br/>
<input name="link1" type="text" width="550" /><br/>
<br/>
نام فایل را وارد کنید
<br/>
<input name="input1" type="text" width="350" /><br/>
<input name="sum" type="submit" />

</form>
</center>
</div>
</body>
</html>



کد action.php


<?php
$_REQUEST['link1'];
$_REQUEST['input1'];
copy('link1','input1');
?>


دوستان میشه بگید که من درست کار کردم یا نه ؟
اگر نه چطور باید اینکار را بکنم

MMSHFE
سه شنبه 13 دی 1390, 12:24 عصر
با سلام، فرم رو درست نوشتین و روش کار هم درسته، فقط اینکه چون مستقیماً فایل آپلود نمیشه، enctype رو نمیخواد بنویسید. ضمناً کد PHP شما کمی اصلاح لازم داره:


if(isset($_POST['link1']) && isset($_POST['input1'])) {
$link1 = $_POST['link1'];
$input1 = $_POST['input1'];
@copy($link1, $input1);
}

توضیح: بهتره از REQUEST_$ استفاده نکنید چون میشه با GET هم بهش اطلاعات داد و درنتیجه، امنیت رو نسبتاً پایین میاره. ضمناً از @ قبل از دستور copy استفاده کردم تا اگه به هر دلیلی عمل کپی انجام نشد، پیغام خطا ظاهر نشه.
موفق باشید.

speeed
سه شنبه 13 دی 1390, 14:03 عصر
ممنون از جوابتون
میشه بگید به جای REQUEST_$ از چه چیزی استفاده کنم؟؟

MMSHFE
سه شنبه 13 دی 1390, 15:49 عصر
اگه فرمتون با روش POST ارسال میشه، از POST_$ و اگه با روش GET کار میکنید، از GET_$ استفاده کنید.
موفق باشید.

speeed
سه شنبه 13 دی 1390, 17:57 عصر
داداش یه سوال دیگه
الان چطوری میتونم توی یه فایل ذخیره کنم؟؟
چون میخوام روی شاخه اصلی رمز بذارم میخوام کسایی که رمزو دارن بتونن لینک بزنن و بقیه توی یه پوشه دانلود کنند

<?php
if(isset($_POST['link1']) && isset($_POST['input1'])) {
$link1 = $_POST['link1'];
$input1 = $_POST['input1'];
@copy($link1,'file'/$input1);
echo("Link az Site:www.xda-developer.ir/upp/file/$input1");
}
?>

speeed
چهارشنبه 14 دی 1390, 09:52 صبح
کسی نظری نداره؟

mtchabok
چهارشنبه 14 دی 1390, 11:18 صبح
@copy($link1,'file'/$input1);
شما در این اینکارو کردید . و فایل در این خط به روی هاستتون قرار میگیره .

speeed
چهارشنبه 14 دی 1390, 11:29 صبح
@copy($link1,'file'/$input1);
شما در این اینکارو کردید . و فایل در این خط به روی هاستتون قرار میگیره .
ولی نمیاد توی فولدر file ممکن هست اشتباه باشه؟

MMSHFE
چهارشنبه 14 دی 1390, 12:35 عصر
@copy($link1, 'file/'.$input1);