PDA

View Full Version : آپلود عکس با دادن آدرس به صورت رشته



$ M 3 H R D A D $
جمعه 28 خرداد 1389, 16:57 عصر
سلام
اول یه سر به اینجا بزنید : http://p30programming.com/test/up.htm

من می خوام بجای بروزر فایل یک تکست معمولی باشه تا آدرس و وارد کنم مثلا درایو c اسم ...و پسوند

بعد رو آپلود کلیک کنم

میشه هر چیزی میدونین بگین ؟

zamanphp
جمعه 28 خرداد 1389, 18:00 عصر
تو مسیری که می خوای اون فایل رو ذخیره کنی با تابع touch یه فایل هم نوع بساز و سپس با تابع file_get_contents فایلی که می خوای ذخیره کنی رو بخون و با تابع file_put_contents اون رو تو اون فایلی که ساختی ذخیره کن :

<?php
$path_local = 'PATH';
$path_remote = 'PATH';

touch($path_local );
$data = file_get_contents($path_remote);
file_put_contents($path_local, $data);
?>

$ M 3 H R D A D $
جمعه 28 خرداد 1389, 21:28 عصر
ممنون از جوابت من مبتدی هستم میشه بیشتر راهنمایی کنید ؟
ای مراحل شبیه سازی همون گرفت مسیر فایله ؟

این فایل up.htm منه که کاربر فایل را انتخاب و بعد رو دکمه آپلود کلیک میکنه



<!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 content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Untitled 1</title>
</head>

<body>
<form action="upload.php" method="post" enctype="multipart/form-data">

<input type="file" name="myfile"/>
<input type="submit" value="Send" />
</form>

</body>

</html>



که میخوام بجای اون تو این صفحه فقط یک تکست باکس باشه و دکمه که مسیر فایل و بنویسیم یعنی مثلا :


c:\image.jpg

باید دوتا بک اسلش گذاشت ؟؟

کد php برای آپلود هم این کد زیره که بعد از action شدن فرم up.htm میاد

چه تغییراتی باید انجام بدم ؟ کامل میشه توضیح بدین ؟




<html>
<head>
<title>upload</title>
</head>
<body>

<?php

$target = "up/" . basename( $_FILES['myfile']['name']);
$link = "http://p30programming.com/test/".$target;
if($_FILES['myfile']['type']=="image/jpeg" || $_FILES['myfile']['type']=="image/pjpeg")
{

if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target))
{
echo "
<script>
alert('File is Upload.');
</script>
";
echo "<div align='center'>";
echo "<img src='$link' />";
echo "</div>";
}
else
{
echo "error during uploading.";
}

}
else
{
echo "file type is error";
}


?>
</body>
</html>

$ M 3 H R D A D $
شنبه 29 خرداد 1389, 19:07 عصر
آقا یکی این کمک این دوستمونو کامل کنه ممنونتون میشم !

pashaie
شنبه 29 خرداد 1389, 19:16 عصر
آقا این چیزی که شما می خوای، غیر ممکنه!
شما نمی تونی از طریق سرور و با داشتن مسیر فایل تو کلاینت، اونو آپ لود کنی.
اگه همچین امکانی وجود داشت باید خیل وقت پیش فاتحه وب رو می خوندن! چون دیگه امنیت معنی نمی داد.
می رفتی تو یه سایت، اون سایت هم لطف می کرد تمام اطلاعات شما رو کپی می کرد! به نظر خودت این کار اصلا اصولی هست؟

$ M 3 H R D A D $
شنبه 29 خرداد 1389, 19:43 عصر
حاجی ترمز کن اینجورییییییییییییییییییی یییییییییی!!!!!!!!!!!!!!!!!!!!!!!!!!!!


شما سوال منو ...بیخی :دی من بد توضیح دادم لابد یا هردو ! :دی


من نمیخوام سرور این کارو کنه!
کاربر که میخواد فایل را با بروزر انتخاب کنه بجاش مسیر عکس و بنویسه تو تکست همین !
به خدا گناه دارما !

pashaie
شنبه 29 خرداد 1389, 21:21 عصر
حاجی ترمز کن اینجورییییییییییییییییییی یییییییییی!!!!!!!!!!!!!!!!!!!!!!!!!!!!
:لبخند:


شما سوال منو ...بیخی :دی من بد توضیح دادم لابد یا هردو ! :دی
اتفاقا برداشت اول من از سوال شما همین بود.
ولی خب بعد از اینکه جواب zamanphp (http://www.barnamenevis.org/forum/member.php?u=19602) رو دیدم و همچنین پست بعدی شما که نوشته بودید:

آقا یکی این کمک این دوستمونو کامل کنه ممنونتون میشم !
گفتم شاید منظور شما همون چیزیه که خیلی جیزه!

آقا اول یه Disclaimer بدم که اگه بعدش خلاف حرفام ثابت شد زیاد ضایع نشم :لبخند:
در این مورد اطلاعات کامل ندارم و حرفی که می خوام بزنم فقط نظر شخصی خودمه.


کاربر که میخواد فایل را با بروزر انتخاب کنه بجاش مسیر عکس و بنویسه تو تکست همین !
نیگا کن دوست عزیز، علاوه بر اینکه بروزر فرایند انتخاب فایل توسط کاربر رو خیلی راحت تر از نوشتن مسیرش تو یه تکست باکس می کنه، این قدرت رو به کاربر می ده که آیا فایلی رو انتخاب کنه یا نه، یعنی کاربر اختیار کامل رو برای ارسال یه فایل در اخیار داره.
به این دلیل این قدرت رو داره چون بروزر رو نمی شه از طریق جاوا اسکریپت کنترل کرد و حتما باید یه عامل انسانی یا برنامه ای با سطح اختیارات بالا این کار رو انجام بده.
خب حالا کاری که شما می خوایید، یعنی وجود یه تکست باکس که کاربر بتونه توش مسیر فایل رو تایپ کنه، طبعا این امکان رو به شما می ده که هر مسیری که خودتون بخوایید رو توش قرار بدید و علاوه بر اون، این تکست باکس رو هم مخفی کنید. در نتیجه این یه مشکل بزرگ امنیتی محسوب می شه.
رو همین حساب من قویا معتقدم که همچین امکانی در بروزر های امروزی وجود نداره.

بازهم می گم، این نظر شخصی منه و ممکنه که من کلا تو باغ نباشم!:لبخند:

$ M 3 H R D A D $
شنبه 29 خرداد 1389, 23:05 عصر
راستیتش .....نزن نزن همه چیو لووو میدم....:اشتباه:

من تو این پست http://www.barnamenevis.org/forum/showthread.php?t=223768
خواستم مشخصات دانشجویی بپا های دانشگامونو نو یک فرم ساده بگیرم و عمل ورود به پنل دانشجویی و ریسورس کردن صفحه و گرفتن اطلاعات و شبیه سازی کنم
من گفتم مبتدی اتم اما دوستان دیگه همکاری نکردن ! قانون های زیادی واسه پیچوندن تو این انجمن وچجود دار!!

کلا به نتیجه نرسید !
تونستم با سی شارپ یک فرم و تو بروزر نشون بدم و بعدش داده و تو تکس ها درج کنم و روی ورود کلیک کنم
مشکلم حل شد
میخوام عکسی که تو پنل کاربر هست و از صفحه ریسورس کنم و بریزم تو درایو سی ویندوز
و بعد تو یک بروزر دیگه فرم آپلود که تو سایتمه و صدا بزنم و اسم عکس که همیشه تو درایو سی و به عنوان ادرس بدم به تکست و رو دکمه آپلود با کد کلیک کنم
تا بتونم عکس و به هاستم انتقال بدم
بعد اطلاعات دانشجو و با متد get به صورت لینک به فرم ثبت نام تو سایتم بفرستم
به همراه تنها اسم فایل
چون اسم فایل و دارم و خود فایل قبلا توسط نرم افزار ویندوز آپلود شد به فایل هم دسترسی دارم یعنی همون عکس

که در کل کل مشخصات کاربر و دارم
ثبت نام تو انجمن علمب دانشگامون با دوتا کلیک !
هم احراز حویت میشه هم دیگه نیازی به سکن عکس پرسنلی خودشون و پر کردن فرم نیست

هدفم و توضیح دادم

خوب شما پیشنهاد کنید که عکس و چجوری به هاستم ببرم

راستا عکس به صورت لینکه
لینکی که متد get یعنی آخرش jpg نیست فرمی که یک آرگومانت داره تو بدنه صفحه تنها عکس هست.
شاید تونستم کدمو به ای اس پی تبدیل کنم اون وقت دیگه نیازی به آپلود نیست میشه مپ گرفت


راهنمایی تک تک دوستان برام ذهنیت به وجود میاره لطفا کمک کنید

$ M 3 H R D A D $
شنبه 29 خرداد 1389, 23:32 عصر
راستیتش .....نزن نزن همه چیو لووو میدم....:اشتباه:

من تو این پست http://www.barnamenevis.org/forum/showthread.php?t=223768
خواستم مشخصات دانشجویی بپا های دانشگامونو نو یک فرم ساده بگیرم و عمل ورود به پنل دانشجویی و ریسورس کردن صفحه و گرفتن اطلاعات و شبیه سازی کنم
من گفتم مبتدی اتم اما دوستان دیگه همکاری نکردن ! قانون های زیادی واسه پیچوندن تو این انجمن وچجود دار!!

کلا به نتیجه نرسید !
تونستم با سی شارپ یک فرم و تو بروزر نشون بدم و بعدش داده و تو تکس ها درج کنم و روی ورود کلیک کنم
مشکلم حل شد
میخوام عکسی که تو پنل کاربر هست و از صفحه ریسورس کنم و بریزم تو درایو سی ویندوز
و بعد تو یک بروزر دیگه فرم آپلود که تو سایتمه و صدا بزنم و اسم عکس که همیشه تو درایو سی و به عنوان ادرس بدم به تکست و رو دکمه آپلود با کد کلیک کنم
تا بتونم عکس و به هاستم انتقال بدم
بعد اطلاعات دانشجو و با متد get به صورت لینک به فرم ثبت نام تو سایتم بفرستم
به همراه تنها اسم فایل
چون اسم فایل و دارم و خود فایل قبلا توسط نرم افزار ویندوز آپلود شد به فایل هم دسترسی دارم یعنی همون عکس

که در کل کل مشخصات کاربر و دارم
ثبت نام تو انجمن علمب دانشگامون با دوتا کلیک !
هم احراز حویت میشه هم دیگه نیازی به سکن عکس پرسنلی خودشون و پر کردن فرم نیست

هدفم و توضیح دادم

خوب شما پیشنهاد کنید که عکس و چجوری به هاستم ببرم

راستا عکس به صورت لینکه
لینکی که متد get یعنی آخرش jpg نیست فرمی که یک آرگومانت داره تو بدنه صفحه تنها عکس هست.
شاید تونستم کدمو به ای اس پی تبدیل کنم اون وقت دیگه نیازی به آپلود نیست میشه مپ گرفت


راهنمایی تک تک دوستان برام ذهنیت به وجود میاره لطفا کمک کنید

pashaie
شنبه 29 خرداد 1389, 23:52 عصر
تونستم با سی شارپ یک فرم و تو بروزر نشون بدم و بعدش داده و تو تکس ها درج کنم و روی ورود کلیک کنم
اگه تا اینجا حل شده که دیگه مشکلی نداری!
یجورای داری قاشق رو دور سرت می چرخونی با سیو کرد عکس تو درایو سی و ...

یه Hidden input درست کن، آدرس عکس رو بریز توش.
اینجوری تو سرور خودت خیلی راحت می تونی با دستور

$data = file_get_contents($path_remote);
محتویات فایل رو بخونی و بعد سیو کنی تو سرور خودت!

$ M 3 H R D A D $
یک شنبه 30 خرداد 1389, 05:15 صبح
نه دیگه!!
با برنامه ویندوز که کاربر مشخصاتشو میده تو بروزر سی شارپ وقتی پنل دانشجو باز میشه همونجا فقط کوکی یا سشن یا هرچیزه دیگه که داره میسازه وقتی ببخای اسم اون لینکو بفرستی بروزر ویندوز نمیتونه تشخیص بده لینک از کجاست
البته امتحان نکردم اما باید اینجوری باشه

$ M 3 H R D A D $
یک شنبه 30 خرداد 1389, 22:04 عصر
کسی نیست جواب بده ؟ لطفا کمک کنید.
مدیر بخش ....گکجایی که یادت بخیر...صلواااااااااااااااا ااااااااااااات