Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
17
Cevap
2233
Tıklama
0
Öne Çıkarma
PHP Takımı Resim Upload ver 1.0
P
19 yıl
Çavuş
Konu Sahibi

Merhaba arkadaşlar bugün kendi hazırladığım upload scriptimi sizlerle paylaşmak istedim.

PHP Takımı Resim Upload ver 1.0

Özellikleri:
1. Sadece resimleri yükler.
2. Direk Link, Forum Linki 1, Forum Linki 2 linkleri kendiliğinden oluşturur.
3. Tüm kodlar tek dosyada..
4. Ayarları ve kullanımı basittir.
5. Yüklemek istediğiniz resim dosyasının önüne birkaç karakter ekleyerek kayıt eder.
6. Kod dosyanızın ismini kendiniz belirlersiniz. Belirlediğiniz isim ne olursa olsun (uzantısının .php olması şartıyla ) kod sorunsuz çalışacaktır.

Kurulumu
1. Notepad (notdefteri)'nni açın ve içine aşağıdaki kodları ekleyin.
2. // Ayarlar başlığı altında bulunan ayarları sitenize göre uyarlayın.
3. istediginizisim.php ismiyle kaydedin. Herhangi bir isim olabilir. Dosya uzantısının .php olması şartıyla...
4. Scripti yüklediğiniz klasörün içinde resimler isminde bir klasör oluşturalım. Eğer farklı bir klasör ismi kullanmak istiyorsanız. Script kodlarımızın içinde yer alan ayarlar kısmında bunu belirleyebilirsiniz.

Emeğe Saygı !

Örnek için tıklayın...

Kodlar:
 
<?php
####################################
######## www.phptakimi.com #########
####### Powered by phptakimi #######
####### zahir@hizmet.web.tr ########
######### 20 / 11 / 2006 ###########
####################################
// Ayarlar
$title = "PHP Takımı Resim Upload ver 1.0"; // Başlık
$domain = "http://www.phptakimi.com"; // Site ismini girin. örn:http://www.phptakimi.com
$klasor = "resimler/"; // Yüklenen resimlerin tutulacağı klasör ismi.
$scriptyolu = "/ornekler/resimupload/"; // Scriptin yüklü olduğu klasör
$rasgele = md5(microtime()); // rasgele sayı üretiyoruz.
$yeniresim = $rasgele."_".$resim_name;
$link = $domain.$scriptyolu.$klasor.$yeniresim;
?>
<html>
<head>
<meta http-equiv=content-type content="text-html; charset=iso-8859-9">
<meta http-equiv=content-type content="text-html; charset=windows-1254">
<title><?=$title;?></title>
</head>
<body>
<center>
<form enctype="multipart/form-data" action="<?=$PHP_SELF;?>" method=post>
<input type=hidden name="MAX_FILE_SIZE" value="1048288">
<table border=0 align=center width=300>
<tr>
<td align=center><strong><?=$title;?></strong></th>
</tr>
<tr>
<td align=center><input type=file name=resim></td>
</tr>
<tr>
<td align=center><input type=submit name=gonder value="Dosya Yolla"></td>
</tr>
</table>
</form>

<?php
echo "<script type=\"text/javascript\">\n";
echo "\n";
echo "function highlight(field) {\n";
echo " field.focus();\n";
echo " field.select();\n";
echo "}\n";
echo "</script>\n";
if ($gonder == "Dosya Yolla" && $resim == ""){
echo "<h2><font color=red>Dosya Seçilmedi!</font></h2>";
}

if ($resim != ""){
if ($resim_type == "image/gif" || $resim_type == "image/jpeg" || $resim_type == "image/pjpeg" || $resim_type == "image/png" || $resim_type == "image/bmp"){ // Yüklenmesini istediğimiz dosya türlerini burada belirliyoruz...
copy ($resim, $klasor.$yeniresim) or die ("Dosya kopyalanamıyor"); //Dosyamızı klasörümüze kopyalıyoruz.
echo "<table align=center border=0>";
echo "<tr><td align=right><b>Direk Link:</b></td><td align=left><input size=40 onClick='highlight(this);' type=text value=\"$link\"></td></tr>";
echo "<tr><td align=right><b>Forum Linki 1:</b></td><td align=left><input size=40 onClick='highlight(this);' type=text value=\"[URL=$domain][IMG]$link[/IMG][/URL]\"></td></tr>";
echo "<tr><td align=right><b>Forum Linki 2:</b></td><td align=left><input size=40 onClick='highlight(this);' type=text value=\"[url=$domain][img=$link][/img][/url]\"></td></tr>";
echo "</table>";
echo "<br><b>Yüklediğiniz Resim:</b><br><a href=\"$link\"><img border=0 src=\"$link\"></a>";
}
else {
echo "<h2><font color=red>İzinsiz dosya türü</font></h2>";
}
}
?>
<br><small>Bu script phptakimi tarafından yazıldı.<br><a href=http://www.phptakimi.com>www.phptakimi.com</a></small></center>
</body>
</html>





< Bu mesaj bu kişi tarafından değiştirildi phptakimi -- 20 Kasım 2006; 17:39:37 >

P
19 yıl
Çavuş
Konu Sahibi

PHP Takımı Resim Upload ver 1.0 'i indirmek için buraya tıklayın...



N
19 yıl
Yarbay

çok güzel denemem lazım az sonra çok teşekkürler


Bu mesaja 1 cevap geldi.
P
19 yıl
Çavuş
Konu Sahibi

Sonradan farkına vardım ki foruma eklenince kodlarda değişiklik oluyor o yüzden indirme linki verdim.

buradan indirin...


Bu mesaja 1 cevap geldi.
O
19 yıl
Binbaşı

Eline sağlık. Ancak şunu belirtmek istiyorum. PHP tagları arasındaki veriler işlenir, diğerleri pas geçilir. Yani burda statik verileri echo ile yazdırmak tek sayfa olarak düşünüldüğünde sorun değil ancak yüzlerce kişi aynı anda bu sayfayı çağıracak olsa ciddi bir iş yükü getirir. Saygılar.


Bu mesaja 1 cevap geldi.
N
19 yıl
Yarbay

peki dosya upload için dosya uzantı yasağı nasıl koyabilirim.mesela gif,png yüklenmesin.


Bu mesaja 1 cevap geldi.
P
19 yıl
Çavuş
Konu Sahibi

Şu kodları sil:

gif için :
quote:

$resim_type == "image/gif" ||


png için:
quote:

$resim_type == "image/png" ||


Bu mesaja 1 cevap geldi.
G
19 yıl
Yarbay

Script de ilk göze çarpan hata MAX_FILE_SIZE nin değiştirilebilir olması. Form daki bu bilginin var olması çok önemli değil. Önemli olan scriptin yüklenecek olan dosyanın boyutunu kontrol etmeden direkt olarak sunucuya kopyalaması. İlk denememde 2,5 mb lik bir resim dosyasını yükledim.


Bu mesaja 2 cevap geldi.
C
19 yıl
Yüzbaşı

copy register_globals açıksa kullanılabilir + register global açıksa bazı açıklara sebeb olur.

move_uploaded_file(); kullanmanızı öneririm.

php manual:
Note: As of PHP 4.3.0, both source and dest may be URLs if the "fopen wrappers" have been enabled. See fopen() for more details. If dest is a URL, the copy operation may fail if the wrapper does not support overwriting of existing files.


Bu mesaja 1 cevap geldi.
M
19 yıl
Binbaşı

type leri array ile cagirmani ve dosyalarin kopyalanmasi degil tasinmasi icinde cera nin dedigi gibi move_uploaded_file kullanmani oneririm ...



P
19 yıl
Çavuş
Konu Sahibi

quote:

Orjinalden alıntı: gokhanweb

Script de ilk göze çarpan hata MAX_FILE_SIZE nin değiştirilebilir olması. Form daki bu bilginin var olması çok önemli değil. Önemli olan scriptin yüklenecek olan dosyanın boyutunu kontrol etmeden direkt olarak sunucuya kopyalaması. İlk denememde 2,5 mb lik bir resim dosyasını yükledim.


MAX_FILE_SIZE için değiştirilebilir demişsiniz ne şekilde ve ilk denemede 2,5 mblik resim yüklediğinizi belirtmişsiniz. 2,5 mb yüklenmiş resme rastlayamadım sunucumda. Nereye yüklediniz acaba ?


Bu mesaja 2 cevap geldi.
G
19 yıl
Yarbay

MAX_FILE_SIZE tarayıcıya gönderilen form içerisinde yer aldığı için kullanıcı bunu istediği gibi değiştirebilir.

http://www.phptakimi.com/ornekler/resimupload/resimler/c5b3b74d4bf76e56c2f4d45c5dda9069_ppp.jpg

Görüldüğü gibi 1.37mb`lik, üstelik resim olmayan bir dosyayi sistem kabul etti. Dolayısıyla sevgili üyelerimize kulak vermek lazım...


Ha ne şekilde değiştirilir: ister php ile soket açar form, cookie, headerlar ile istediğim gibi oynarım ya da en basitinden sayfanı sağ tıklayıp kayıt eder, htlm kodundaki "<input type=hidden name="MAX_FILE_SIZE" value="1048288">" satırını tamamen kaldırıp değiştirilmiş formla istediğim boyutta resmi senin "http://www.phptakimi.com/ornekler/resimupload/index.php"`ine submit ederim...





< Bu mesaj bu kişi tarafından değiştirildi Guest -- 22 Kasım 2006; 17:00:30 >

G
19 yıl
Yarbay

quote:

Orjinalden alıntı: phptakimi


quote:

Orjinalden alıntı: gokhanweb

Script de ilk göze çarpan hata MAX_FILE_SIZE nin değiştirilebilir olması. Form daki bu bilginin var olması çok önemli değil. Önemli olan scriptin yüklenecek olan dosyanın boyutunu kontrol etmeden direkt olarak sunucuya kopyalaması. İlk denememde 2,5 mb lik bir resim dosyasını yükledim.


MAX_FILE_SIZE için değiştirilebilir demişsiniz ne şekilde ve ilk denemede 2,5 mblik resim yüklediğinizi belirtmişsiniz. 2,5 mb yüklenmiş resme rastlayamadım sunucumda. Nereye yüklediniz acaba ?




sizin sunucunuza yüklemedim. kendi sunucuma yükledim.
büyük dosya yüklemek isteyecek kişi formdaki MAX_FILE_SIZE değerini istediği gibi yapar ve <form action='http://www.phptakim.com/xxx' yaparak istediği boyuttaki dosyayı sizin sunucunuza yükleyebilir.


Bu mesaja 1 cevap geldi.
P
19 yıl
Çavuş
Konu Sahibi

Önerileriniz için hepinize teşekkürler arkadaşlar.

Versiyon 1.1 nihayet hazır...

v1.0 > v1.1 Değişiklikler
1. copy yerine move_uploaded_file komutu kullanıldı.
2. Maximum yüklenebilir dosya boyutu değişkeninin formdan silinip php kısmında ayarlanabilir şekilde yeniden düzenlendi.
3. register_globals değişkenleri güvenlik açısından tehlike arz ettiği için bir.ok sunucuda kapalı olduğundan gerekli değişkenler yeniden düzenlendi. Her tür sunucuda (register_globals açık veya kapalı hiç farketmez)
çalışır hale getirildi.
4. Resim yüklendikten sonra resmin altında resim boyutunun kb olarak yazılması sağlandı.

Test: için buraya tıklayın...

İndirmek için buraya tıklayın...


Bu mesaja 1 cevap geldi.
M
19 yıl
Yarbay

güzel çalışma



T
19 yıl
Onbaşı

arkadaşlar söle bir hata veriyor nedeni nedir


Warning: move_uploaded_file(resimler/16d556b1a233722cab75e6fec80baeab_): failed to open stream: Permission denied in /home/dijisun/public_html/index.php on line 74

Warning: move_uploaded_file(): Unable to move '/tmp/phpalv17w' to 'resimler/16d556b1a233722cab75e6fec80baeab_' in /home/dijisun/public_html/index.php on line 74
Dosya kopyalanamıyor


Bu mesaja 1 cevap geldi.
P
19 yıl
Çavuş
Konu Sahibi

Gördüğüm kadarıyla editlenmiş. Editlerken hata yamış olabilirsiniz. Bu linkten scriptimizi indirip sadece gerekli ayarları yapıp tekrar yükleyin ve "index.php" dosyası ile "resimler" klasörünün chmod ayarlarını 707 olarak ayarlayın tekrar deneyin.



T
19 yıl
Onbaşı

707 cdmod verilince düzeldi tesekkür ederim usatam



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.