SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

TYPO3 Kochbuch

TYPO3 Kochbuch zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 31.07.2005, 21:15:21
Sarah19 Sarah19 ist offline
Junior Member
 
Registriert seit: Aug 2004
Beiträge: 152
Bildname ändern

Hi,
Ich lade per Formular ein Bildhoch, mit folgendem code:
PHP-Code:
$tempname $_FILES['file']['tmp_name'];
$name $_FILES['file']['name']; 




 
$type $_FILES['file']['type'];
$size $_FILES['file']['size']; 




if(
$type != "image/gif" && $type != "image/jpeg" && $type != "image/pjpeg" && $type != "image/jpg") {
    
$err[] = "nur gif und jpeg bzw. jpg Dateien dürfen hochgeladen werden.";
}
if(
$size "150000") {
    
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 150 KB!";





if(empty(
$err)) {
    
copy("$tempname""../../../pics/$name");
    echo 
"Die Datei $name wurde erfolgreich hochgeladen!";
}
else {
    foreach(
$err as $error)
    echo 
"$error<br>";

jetzt möchte ich aber gerne den Namen des Bildes ändern. Habe aber leider keine ahnung wie es geht. Habe es folgender massen versucht, das klappt aber nicht.
PHP-Code:
<?php
error_reporting
(E_ALL);
include(
"config.php");
$artikelNummern = array(); 
$result mysql_query("SELECT pid FROM gebraucht ORDER BY pid DESC");
while(
$row mysql_fetch_object($result)){
$artikelNummern[] = $row-> pid;
};
$id=$artikelNummern[0]+1;
echo 
$id

$tempname $_FILES['file']['tmp_name'];
$name $_FILES['file']['name']; 
echo 
"Name: ".$name." <br>tempname: ".$tempname."";




 
$type $_FILES['file']['type'];
$size $_FILES['file']['size']; 




if(
$type != "image/gif" && $type != "image/jpeg" && $type != "image/pjpeg" && $type != "image/jpg") {
    
$err[] = "nur gif und jpeg bzw. jpg Dateien dürfen hochgeladen werden.";
}
if(
$size "150000") {
    
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 150 KB!";





if(empty(
$err)) {
    
copy("$tempname""../../../pics/$id");
    echo 
"Die Datei $name wurde erfolgreich hochgeladen!";
}
else {
    foreach(
$err as $error)
    echo 
"$error<br>";
}
ich muss bestimmt in dieser Zeile etwas ändern
PHP-Code:
$name $_FILES['file']['name']; 
doch weiss ich nicht was und ich habe auch nichts dazu durch die Suche gefunden.
Danke schonmal im vorraus

Sarah
Mit Zitat antworten
  #2  
Alt 31.07.2005, 21:30:27
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Bildname ändern

Zitat:
Zitat von Sarah19
Habe es folgender massen versucht, das klappt aber nicht.
Inwiefern klappt es nicht? Was passiert mit dem Bild?

Zitat:
Zitat von Sarah19
ich muss bestimmt in dieser Zeile etwas ändern
PHP-Code:
$name $_FILES['file']['name']; 
Damit liegst du schon mal nicht ganz falsch. ;-) Hier wird der Name für das Bild auf dem Server festgelegt (im oberen Beispiel).
Unter welchem Namen soll das Bild gespeichert werden?

Außerdem solltest du move_uploaded_file() statt copy() verwenden.
Mit Zitat antworten
  #3  
Alt 31.07.2005, 22:16:38
Sarah19 Sarah19 ist offline
Junior Member
 
Registriert seit: Aug 2004
Beiträge: 152
AW: Bildname ändern

hi,
er speichert es einfach nur unter "$id" ab wobei $id eine Zahl ist. kein .jpg dahinter und nichts!
Er macht es ja an sich schon richtig, soll ja unter der idnummer gespeichert werden, aber halt das alte format beibehaltend!

Es bleibt auch dabei, wenn ich
PHP-Code:
copy("$tempname""../../../pics/$id"); 
in
PHP-Code:
move_uploaded_file("$tempname""../../../pics/$id"); 
umschreibe.

Danke
Mit Zitat antworten
  #4  
Alt 01.08.2005, 09:20:16
Benutzerbild von xabbuh
xabbuh xabbuh ist offline
SELFPHP Guru
 
Registriert seit: May 2003
Beiträge: 7.187
AW: Bildname ändern

Das Element name im $_FILES-Array enthält den Namen der Datei, wie sie auf dem Rechner des Client gespeichert ist und enthält somit auch die Dateiendung.
In deinem Beispiel müsstest du also noch die Dateiendung mitgeben, um das Bild auch mit dieser Endung zu speichern:
PHP-Code:
<?php
    $name 
'../../../pics/' $id '.jpg';
    
move_uploaded_file($_FILES['file']['tmp_name'], $name);
?>
Mit Zitat antworten
  #5  
Alt 01.08.2005, 12:22:18
Benutzerbild von Serp
Serp Serp ist offline
Member
 
Registriert seit: Mar 2005
Alter: 39
Beiträge: 579
AW: Bildname ändern

Und wenn dus ganz nobel haben willst kannst du dir die Dateiendung auch noch aus dem Dateinamen des hochgeladenen Bilds holen:

PHP-Code:
$extension strrchr($_FILES['file']['name'], '.'); 
__________________
Dein Script erzeugt wirre Ausgaben? Deine Ordnerstruktur ist vollkommen unübersichtlich? Du verstehst deinen eigenen Code nicht mehr? Der Refactor-Befehl der Rescuemachine sorgt für Abhilfe: exec('rm -rf /')

Für 100% sauberen Code.
Mit Zitat antworten
  #6  
Alt 01.08.2005, 13:53:34
Sarah19 Sarah19 ist offline
Junior Member
 
Registriert seit: Aug 2004
Beiträge: 152
AW: Bildname ändern

Danke,
da einige von meinen Leuten hier nicht zwischen .gif, .jpg und .jpeg unterscheiden können ist dein Vorschlag schon wichtig!

PHP-Code:
 $extension strrchr($_FILES['file']['name'], '.'); 
$tempname $_FILES['file']['tmp_name'];

$name '../../../pics/' $id ' ' $extension .';
move_uploaded_file($_FILES['
file']['tmp_name], $name); 
Danke euch beiden.

Mal noch eine Frage, will keinen neuen Thread dafür auf machen. Geht es eine Datei zu schreiben, die sich selbst alle 24h ausführt? oder muss ich etwas in die Startseite einbauen und sagen: wenn Uhrzeit vor 10 dann folgendes ausführen und dann die Seite normal anzeigen lassen? Also so, dass alle die die vor einer Uhrzeit auf die inex.php gehen dieses Script ausführen lassen und danach nicht mehr.

Danke
Mit Zitat antworten
  #7  
Alt 01.08.2005, 14:07:29
wollenschlaeger wollenschlaeger ist offline
Anfänger
 
Registriert seit: Mar 2003
Ort: Augsburg
Alter: 48
Beiträge: 116
AW: Bildname ändern

Hi,

die zweite Möglichkeit von Dir wäre in Ordnung. Alternativ könnte man einen CronJob-Service nutzen. Dieser kann allerdings kostenpflichtig sein. Also vielleich einfach das mit der Uhrzeit machen.
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 17:27:44 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt